浏览代码

储备项目新-基本表的修改及流程修改

wangqiang 2 年之前
父节点
当前提交
30db7c303a
共有 100 个文件被更改,包括 7481 次插入2133 次删除
  1. 16 1
      src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
  2. 196 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ActRunTaskTest.java
  3. 229 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/CompanyReview.java
  4. 116 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/DocumentInfo.java
  5. 72 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/FeedBackBudget.java
  6. 41 61
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveElectricityWork.java
  7. 10 12
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePreconstruction.java
  8. 10 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveProcessProject.java
  9. 225 60
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummary.java
  10. 62 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummaryProcess.java
  11. 56 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/CompanyReviewMapper.java
  12. 27 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/DocumentInfoMapper.java
  13. 14 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/FeedBackBudgetMapper.java
  14. 18 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveElectricityWorkMapper.java
  15. 19 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReservePreconstructMapper.java
  16. 20 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveProcessProjectMapper.java
  17. 12 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveSafeDisclosureMapper.java
  18. 65 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveSummaryProcessMapper.java
  19. 28 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/SummaryStatisticMapper.java
  20. 200 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/CompanyReviewMapper.xml
  21. 67 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/DocumentInfoMapper.xml
  22. 63 2
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/FeedBackBudgetMapper.xml
  23. 1 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/PolicyHandingMapper.xml
  24. 51 60
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveElectricityWorkMapper.xml
  25. 27 13
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReservePreconstructMapper.xml
  26. 25 6
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveProcessProjectMapper.xml
  27. 6 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveSafeDisclosureMapper.xml
  28. 155 13
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveSummaryProcessMapper.xml
  29. 166 55
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/SummaryStatisticMapper.xml
  30. 105 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/CompanyReviewService.java
  31. 48 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/DocumentInfoService.java
  32. 17 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/FeedBackBudgetService.java
  33. 25 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveElectricityWorkService.java
  34. 25 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReservePreconstructService.java
  35. 31 7
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveProcessProjectService.java
  36. 16 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveSafeDisclosureService.java
  37. 233 21
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveSummaryProcessService.java
  38. 34 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/SummaryStatisticService.java
  39. 315 89
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectExportUtil.java
  40. 134 32
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectProUtil.java
  41. 243 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/CompanyReviewController.java
  42. 654 36
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ProcessController.java
  43. 29 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveElectricityWorkController.java
  44. 8 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReservePreconstructController.java
  45. 24 3
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveProcessProjectController.java
  46. 8 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveSafeDisclosureController.java
  47. 127 9
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/SummaryStatisticController.java
  48. 19 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/EnginnerQueryMapper.java
  49. 19 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/EnginnerQueryMapper.xml
  50. 25 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/EnginnerQueryService.java
  51. 1 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/util/ExcelImportUtil.java
  52. 13 4
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/BudgetStatsController.java
  53. 4 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/EnginnerQueryController.java
  54. 4 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/NormativeAuditController.java
  55. 64 29
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ProgressStatsController.java
  56. 4 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/SpecialSupplyController.java
  57. 二进制
      src/main/resources/freemarker/excelmodel/companyReview.xlsx
  58. 二进制
      src/main/resources/freemarker/excelmodel/electricityWork.xlsx
  59. 二进制
      src/main/resources/freemarker/excelmodel/noPowerFailureSurveySheet.xlsx
  60. 二进制
      src/main/resources/freemarker/excelmodel/powerFailureSurveySheet.xlsx
  61. 二进制
      src/main/resources/freemarker/excelmodel/preconstruct.xlsx
  62. 二进制
      src/main/resources/freemarker/excelmodel/summaryStatistics.xlsx
  63. 188 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewForm.jsp
  64. 304 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewInfo.js
  65. 107 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewInfo.jsp
  66. 186 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewModifyByzz.jsp
  67. 175 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewView.jsp
  68. 69 186
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.js
  69. 16 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.jsp
  70. 59 81
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz.jsp
  71. 29 48
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementView.jsp
  72. 66 9
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.js
  73. 26 2
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.jsp
  74. 1 1
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementView.jsp
  75. 4 9
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementForm.jsp
  76. 58 160
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.js
  77. 13 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.jsp
  78. 5 10
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByzz.jsp
  79. 7 12
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementView.jsp
  80. 91 250
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.js
  81. 11 1
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.jsp
  82. 1 1
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByzz.jsp
  83. 1 1
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementView.jsp
  84. 356 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview.js
  85. 34 50
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview.jsp
  86. 226 28
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnit.jsp
  87. 38 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/drawingReview.js
  88. 63 15
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/drawingReview.jsp
  89. 1 1
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementForm.jsp
  90. 89 238
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.js
  91. 9 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.jsp
  92. 125 61
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz.jsp
  93. 102 38
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementView.jsp
  94. 375 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/test/drawingReviewTest.js
  95. 263 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/test/drawingReviewTest.jsp
  96. 79 211
      src/main/webapp/webpage/modules/cg/statisticalTable/budgetStats/budgetStats.js
  97. 9 0
      src/main/webapp/webpage/modules/cg/statisticalTable/budgetStats/budgetStats.jsp
  98. 60 200
      src/main/webapp/webpage/modules/cg/statisticalTable/constructeScale/constructeScale.js
  99. 9 0
      src/main/webapp/webpage/modules/cg/statisticalTable/constructeScale/constructeScale.jsp
  100. 0 0
      src/main/webapp/webpage/modules/cg/statisticalTable/demoliteList/demoliteList.js

+ 16 - 1
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -621,6 +621,18 @@ public class ActTaskService extends BaseService {
                 }
             }
         }
+        //histIns.startTime     根据时间 冒泡排序
+        for (int i=0;i<actList.size()-1;i++){
+            for (int j=0;j<actList.size()-i-1;j++){
+                Act act = actList.get(j);
+                Act act1 = actList.get(j + 1);
+                if (act.getHistIns().getStartTime().after(act1.getHistIns().getStartTime())){
+                    actList.set(j,act1);
+                    actList.set(j+1,act);
+                }
+            }
+        }
+
         return actList;
     }
 
@@ -1022,7 +1034,10 @@ public class ActTaskService extends BaseService {
             } else {
                 //执行实例
                 List<Task> tasks = taskService.createTaskQuery().processInstanceId(pi.getId()).active().orderByTaskCreateTime().desc().listPage(0, 1);
-                return "[进行中] :" + tasks.get(0).getName();
+                if (tasks.size()>0){
+                    return "[进行中] :" + tasks.get(0).getName();
+                }
+                return "";
             }
 
         } else {

+ 196 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ActRunTaskTest.java

@@ -0,0 +1,196 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+/**
+ * act_run_task
+ * @author: 王强
+ * @create: 2022-10-27 16:19
+ **/
+public class ActRunTaskTest extends DataEntity<ActRunTaskTest> {
+
+    private String projectReserveId;
+
+    private String id;
+    private int rev;
+    private String executionId;
+    private String procInsId;
+    private String procDefId;
+    private String name;
+    private String parentTaskId;
+    private String description;
+    private String taskDefKey;
+    private String owner;
+    private String assignee;
+    private String delegation;
+    private int priority;
+    private String createTime;
+    private String dueDate;
+    private String category;
+    private int suspension;
+    private String tenantId;
+    private String formKey;
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public int getRev() {
+        return rev;
+    }
+
+    public void setRev(int rev) {
+        this.rev = rev;
+    }
+
+    public String getExecutionId() {
+        return executionId;
+    }
+
+    public void setExecutionId(String executionId) {
+        this.executionId = executionId;
+    }
+
+    public String getProcInsId() {
+        return procInsId;
+    }
+
+    public void setProcInsId(String procInsId) {
+        this.procInsId = procInsId;
+    }
+
+    public String getProcDefId() {
+        return procDefId;
+    }
+
+    public void setProcDefId(String procDefId) {
+        this.procDefId = procDefId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getParentTaskId() {
+        return parentTaskId;
+    }
+
+    public void setParentTaskId(String parentTaskId) {
+        this.parentTaskId = parentTaskId;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getTaskDefKey() {
+        return taskDefKey;
+    }
+
+    public void setTaskDefKey(String taskDefKey) {
+        this.taskDefKey = taskDefKey;
+    }
+
+    public String getOwner() {
+        return owner;
+    }
+
+    public void setOwner(String owner) {
+        this.owner = owner;
+    }
+
+    public String getAssignee() {
+        return assignee;
+    }
+
+    public void setAssignee(String assignee) {
+        this.assignee = assignee;
+    }
+
+    public String getDelegation() {
+        return delegation;
+    }
+
+    public void setDelegation(String delegation) {
+        this.delegation = delegation;
+    }
+
+    public int getPriority() {
+        return priority;
+    }
+
+    public void setPriority(int priority) {
+        this.priority = priority;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getDueDate() {
+        return dueDate;
+    }
+
+    public void setDueDate(String dueDate) {
+        this.dueDate = dueDate;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public int getSuspension() {
+        return suspension;
+    }
+
+    public void setSuspension(int suspension) {
+        this.suspension = suspension;
+    }
+
+    public String getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(String tenantId) {
+        this.tenantId = tenantId;
+    }
+
+    public String getFormKey() {
+        return formKey;
+    }
+
+    public void setFormKey(String formKey) {
+        this.formKey = formKey;
+    }
+
+}

+ 229 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/CompanyReview.java

@@ -0,0 +1,229 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+/**
+ * 省公司评审
+ * @author: 王强
+ * @create: 2022-10-24 15:48
+ **/
+public class CompanyReview extends DataEntity<CompanyReview> {
+
+    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 joinProvincialCompanyReview;  //是否参加省公司评审
+    private String batchOfProvincialCompany;     //省公司评审批次/日期
+    private String passProvincialCompanyReview;  //是否通过省公司评审
+    private String reviewComments;               //评审意见
+    private String designChangeRequired;         //是否需设计变更
+    private String companyRemarks;               //省公司评审-备注
+
+    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 getJoinProvincialCompanyReview() {
+        return joinProvincialCompanyReview;
+    }
+
+    public void setJoinProvincialCompanyReview(String joinProvincialCompanyReview) {
+        this.joinProvincialCompanyReview = joinProvincialCompanyReview;
+    }
+
+    public String getBatchOfProvincialCompany() {
+        return batchOfProvincialCompany;
+    }
+
+    public void setBatchOfProvincialCompany(String batchOfProvincialCompany) {
+        this.batchOfProvincialCompany = batchOfProvincialCompany;
+    }
+
+    public String getPassProvincialCompanyReview() {
+        return passProvincialCompanyReview;
+    }
+
+    public void setPassProvincialCompanyReview(String passProvincialCompanyReview) {
+        this.passProvincialCompanyReview = passProvincialCompanyReview;
+    }
+
+    public String getReviewComments() {
+        return reviewComments;
+    }
+
+    public void setReviewComments(String reviewComments) {
+        this.reviewComments = reviewComments;
+    }
+
+    public String getDesignChangeRequired() {
+        return designChangeRequired;
+    }
+
+    public void setDesignChangeRequired(String designChangeRequired) {
+        this.designChangeRequired = designChangeRequired;
+    }
+
+    public String getCompanyRemarks() {
+        return companyRemarks;
+    }
+
+    public void setCompanyRemarks(String companyRemarks) {
+        this.companyRemarks = companyRemarks;
+    }
+}

+ 116 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/DocumentInfo.java

@@ -0,0 +1,116 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+/**
+ * 流程文件信息表
+ * @author: 王强
+ * @create: 2022-10-26 14:26
+ **/
+public class DocumentInfo extends DataEntity<DocumentInfo> {
+
+    public DocumentInfo() {
+    }
+
+    public DocumentInfo(String projectReserveId, String budgetStatement, String projectProposal, String drawings, String drawingSpecification, String demolition, String approvalForm) {
+        this.projectReserveId = projectReserveId;
+        this.budgetStatement = budgetStatement;
+        this.projectProposal = projectProposal;
+        this.drawings = drawings;
+        this.drawingSpecification = drawingSpecification;
+        this.demolition = demolition;
+        this.approvalForm = approvalForm;
+    }
+
+    /**
+     * 储备项目编号
+     * */
+    private String projectReserveId;
+
+    /**
+     * 预算书地址
+     * */
+    private String budgetStatement;
+
+    /**
+     * 项目建议书地址
+     * */
+    private String projectProposal;
+
+    /**
+     * 图纸地址
+     * */
+    private String drawings;
+
+    /**
+     * 施工图设计说明书
+     * */
+    private String drawingSpecification;
+
+    /**
+     * 拆旧材料清册地址
+     * */
+    private String demolition;
+
+    /**
+     * 土建现浇审批单地址
+     * */
+    private String approvalForm;
+
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    public String getBudgetStatement() {
+        return budgetStatement;
+    }
+
+    public void setBudgetStatement(String budgetStatement) {
+        this.budgetStatement = budgetStatement;
+    }
+
+    public String getProjectProposal() {
+        return projectProposal;
+    }
+
+    public void setProjectProposal(String projectProposal) {
+        this.projectProposal = projectProposal;
+    }
+
+    public String getDrawings() {
+        return drawings;
+    }
+
+    public void setDrawings(String drawings) {
+        this.drawings = drawings;
+    }
+
+    public String getDrawingSpecification() {
+        return drawingSpecification;
+    }
+
+    public void setDrawingSpecification(String drawingSpecification) {
+        this.drawingSpecification = drawingSpecification;
+    }
+
+    public String getDemolition() {
+        return demolition;
+    }
+
+    public void setDemolition(String demolition) {
+        this.demolition = demolition;
+    }
+
+    public String getApprovalForm() {
+        return approvalForm;
+    }
+
+    public void setApprovalForm(String approvalForm) {
+        this.approvalForm = approvalForm;
+    }
+}

+ 72 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/FeedBackBudget.java

@@ -9,6 +9,30 @@ import com.jeeplus.core.persistence.DataEntity;
  **/
 public class FeedBackBudget extends DataEntity<FeedBackBudget> {
 
+    public FeedBackBudget() {
+    }
+
+    public FeedBackBudget(String projectReserveId, String preferedCase, String transferSituation, String budgetTemplateCheck, String quotaApplicationCheck, String workLoadCheck, String checkTheFee, String supplyCheck, String materialCheck, String liveWorkFeeCheck, String demolitionEngineeringProblems, String otherProblem, String drawingAndSiteProblem, String communicationProblem, String civilPrefabricateProblem, String liveWorkNumProblem, String projectManagerOtherProblem) {
+        this.projectReserveId = projectReserveId;
+        this.preferedCase = preferedCase;
+        this.transferSituation = transferSituation;
+        this.budgetTemplateCheck = budgetTemplateCheck;
+        this.quotaApplicationCheck = quotaApplicationCheck;
+        this.workLoadCheck = workLoadCheck;
+        this.checkTheFee = checkTheFee;
+        this.supplyCheck = supplyCheck;
+        this.materialCheck = materialCheck;
+        this.liveWorkFeeCheck = liveWorkFeeCheck;
+        this.demolitionEngineeringProblems = demolitionEngineeringProblems;
+        this.otherProblem = otherProblem;
+        this.drawingAndSiteProblem = drawingAndSiteProblem;
+        this.communicationProblem = communicationProblem;
+        this.civilPrefabricateProblem = civilPrefabricateProblem;
+        this.liveWorkNumProblem = liveWorkNumProblem;
+        this.projectManagerOtherProblem = projectManagerOtherProblem;
+    }
+
+    //概预算问题反馈
     private String projectReserveId;                     //项目储备编号
     private String preferedCase;                         //甲供材优选情况
     private String transferSituation;                    //甲供转乙供情况
@@ -22,6 +46,14 @@ public class FeedBackBudget extends DataEntity<FeedBackBudget> {
     private String demolitionEngineeringProblems;        //拆除工程问题
     private String otherProblem;                         //其他问题
 
+    //项目经理审图问题反馈
+    private String drawingAndSiteProblem;                //图纸与现场一致性问题
+    private String communicationProblem;                 //自动化通信方式问题
+    private String civilPrefabricateProblem;             //土建预制化问题
+    private String liveWorkNumProblem;                   //带电作业次数问题
+    private String projectManagerOtherProblem;           //其他问题
+
+
     public String getProjectReserveId() {
         return projectReserveId;
     }
@@ -117,4 +149,44 @@ public class FeedBackBudget extends DataEntity<FeedBackBudget> {
     public void setOtherProblem(String otherProblem) {
         this.otherProblem = otherProblem;
     }
+
+    public String getDrawingAndSiteProblem() {
+        return drawingAndSiteProblem;
+    }
+
+    public void setDrawingAndSiteProblem(String drawingAndSiteProblem) {
+        this.drawingAndSiteProblem = drawingAndSiteProblem;
+    }
+
+    public String getCommunicationProblem() {
+        return communicationProblem;
+    }
+
+    public void setCommunicationProblem(String communicationProblem) {
+        this.communicationProblem = communicationProblem;
+    }
+
+    public String getCivilPrefabricateProblem() {
+        return civilPrefabricateProblem;
+    }
+
+    public void setCivilPrefabricateProblem(String civilPrefabricateProblem) {
+        this.civilPrefabricateProblem = civilPrefabricateProblem;
+    }
+
+    public String getLiveWorkNumProblem() {
+        return liveWorkNumProblem;
+    }
+
+    public void setLiveWorkNumProblem(String liveWorkNumProblem) {
+        this.liveWorkNumProblem = liveWorkNumProblem;
+    }
+
+    public String getProjectManagerOtherProblem() {
+        return projectManagerOtherProblem;
+    }
+
+    public void setProjectManagerOtherProblem(String projectManagerOtherProblem) {
+        this.projectManagerOtherProblem = projectManagerOtherProblem;
+    }
 }

+ 41 - 61
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveElectricityWork.java

@@ -3,8 +3,6 @@ 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: 王强
@@ -33,14 +31,14 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
     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 projectType;              //项目类型
+
+    private String hotLineWork;              //是否含带电作业
+    private String boundarySwitchNum;        //用户分界开关数量
+    private String hotLineWorkTypeNo;        //带电作业类型编号/次数  B8:10次,B9:5次
     private String noStopWorkPlan;           //不停电作业方案
+    private String powerFailureNum;          //节约停电时户数
+
     private String reasonsForNotWorkInterruption;  //无法不停电作业原因
     private String powerOutagePlan;          //停电作业方案
     private String planner;                  //方案编制人
@@ -235,70 +233,43 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
         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=22)
+    public String getProjectType() {
+        return projectType;
     }
 
-    @ExcelField(title="是否打包项目", align=2, sort=23)
-    public String getPackageProject() {
-        return packageProject;
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
     }
 
-    public void setPackageProject(String packageProject) {
-        this.packageProject = packageProject;
+    @ExcelField(title="是否含带电作业", align=2, sort=23)
+    public String getHotLineWork() {
+        return hotLineWork;
     }
 
-    @ExcelField(title="打包项目设备数量", align=2, sort=24)
-    public String getPackageItemQuantity() {
-        return packageItemQuantity;
+    public void setHotLineWork(String hotLineWork) {
+        this.hotLineWork = hotLineWork;
     }
 
-    public void setPackageItemQuantity(String packageItemQuantity) {
-        this.packageItemQuantity = packageItemQuantity;
+    @ExcelField(title="用户分界开关数量", align=2, sort=24)
+    public String getBoundarySwitchNum() {
+        return boundarySwitchNum;
     }
 
-    @ExcelField(title="设备名称", align=2, sort=25)
-    public String getDeviceName() {
-        return deviceName;
+    public void setBoundarySwitchNum(String boundarySwitchNum) {
+        this.boundarySwitchNum = boundarySwitchNum;
     }
 
-    public void setDeviceName(String deviceName) {
-        this.deviceName = deviceName;
+    @ExcelField(title="带电作业类型编号/次数", align=2, sort=25)
+    public String getHotLineWorkTypeNo() {
+        return hotLineWorkTypeNo;
     }
 
-    @ExcelField(title="是否带电作业", align=2, sort=26)
-    public String getWorkWithElectricity() {
-        return workWithElectricity;
+    public void setHotLineWorkTypeNo(String hotLineWorkTypeNo) {
+        this.hotLineWorkTypeNo = hotLineWorkTypeNo;
     }
 
-    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)
+    @ExcelField(title="不停电作业方案", align=2, sort=26)
     public String getNoStopWorkPlan() {
         return noStopWorkPlan;
     }
@@ -307,7 +278,16 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
         this.noStopWorkPlan = noStopWorkPlan;
     }
 
-    @ExcelField(title="无法不停电作业原因", align=2, sort=30)
+    @ExcelField(title="节约停电时户数", align=2, sort=27)
+    public String getPowerFailureNum() {
+        return powerFailureNum;
+    }
+
+    public void setPowerFailureNum(String powerFailureNum) {
+        this.powerFailureNum = powerFailureNum;
+    }
+
+    @ExcelField(title="无法不停电作业原因", align=2, sort=28)
     public String getReasonsForNotWorkInterruption() {
         return reasonsForNotWorkInterruption;
     }
@@ -316,7 +296,7 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
         this.reasonsForNotWorkInterruption = reasonsForNotWorkInterruption;
     }
 
-    @ExcelField(title="停电作业方案", align=2, sort=31)
+    @ExcelField(title="停电作业方案", align=2, sort=29)
     public String getPowerOutagePlan() {
         return powerOutagePlan;
     }
@@ -325,7 +305,7 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
         this.powerOutagePlan = powerOutagePlan;
     }
 
-    @ExcelField(title="方案编制人", align=2, sort=32)
+    @ExcelField(title="方案编制人", align=2, sort=30)
     public String getPlanner() {
         return planner;
     }
@@ -334,7 +314,7 @@ public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
         this.planner = planner;
     }
 
-    @ExcelField(title="现场查勘人", align=2, sort=33)
+    @ExcelField(title="现场查勘人", align=2, sort=31)
     public String getSiteSurveyor() {
         return siteSurveyor;
     }

+ 10 - 12
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePreconstruction.java

@@ -2,8 +2,6 @@ package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
 
 import com.jeeplus.core.persistence.DataEntity;
 
-import java.util.Date;
-
 /**
  * 储备项目预土建制化信息表
  * @author: 王强
@@ -36,8 +34,8 @@ public class ReservePreconstruction extends DataEntity<ReservePreconstruction> {
     private String confessPrefab;            //交底预制化信息-是否预制化
     private String confessPrefabDescription; //交底预制化信息-预制化描述
     private String designCivilFoundation;    //设计预制化信息-是否含新建土建基础/包封
-    private String designPrefab;             //设计预制化信息-是否预制化
-    private String designPrefabDescription;  //设计预制化信息-预制化描述
+    private String castInPlaceList;          //现场浇筑清单
+    private String designList;              //预制化清单
 
     public String getProjectYear() {
         return projectYear;
@@ -239,19 +237,19 @@ public class ReservePreconstruction extends DataEntity<ReservePreconstruction> {
         this.designCivilFoundation = designCivilFoundation;
     }
 
-    public String getDesignPrefab() {
-        return designPrefab;
+    public String getCastInPlaceList() {
+        return castInPlaceList;
     }
 
-    public void setDesignPrefab(String designPrefab) {
-        this.designPrefab = designPrefab;
+    public void setCastInPlaceList(String castInPlaceList) {
+        this.castInPlaceList = castInPlaceList;
     }
 
-    public String getDesignPrefabDescription() {
-        return designPrefabDescription;
+    public String getDesignList() {
+        return designList;
     }
 
-    public void setDesignPrefabDescription(String designPrefabDescription) {
-        this.designPrefabDescription = designPrefabDescription;
+    public void setDesignList(String designList) {
+        this.designList = designList;
     }
 }

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

@@ -38,6 +38,7 @@ public class ReserveProcessProject extends DataEntity<ReserveProcessProject> {
     private String operationAndMaintenancePersonnel;           //运维人员
     private String designer;                 //设计人员
     private String budgetPreparer;           //概算编制人员
+    private int processStatus;           //流程状态 (0:未开始,1:进行中,2:完成,3:取消,4:待定 )
     private String uninterruptedWorkSurveyPersonnel;           //不停电作业查勘人员
 
     public String getMaterialSoleDuty() {
@@ -259,6 +260,15 @@ public class ReserveProcessProject extends DataEntity<ReserveProcessProject> {
     public void setBudgetPreparer(String budgetPreparer) {
         this.budgetPreparer = budgetPreparer;
     }
+
+    public int getProcessStatus() {
+        return processStatus;
+    }
+
+    public void setProcessStatus(int processStatus) {
+        this.processStatus = processStatus;
+    }
+
     @ExcelField(title="不停电作业查勘人", align=2, sort=27)
     public String getUninterruptedWorkSurveyPersonnel() {
         return uninterruptedWorkSurveyPersonnel;

+ 225 - 60
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummary.java

@@ -31,23 +31,44 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
     private String budgetPreparationStatus;  //预算编制状态
     private String budgetIncludesTax;        //预算含税
     private String budgetNotIncludesTax;     //预算不含税
-    private String basicRemarks;             //备注
+    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 reasonForCancel;          //取消原因说明
+    private String comprehensiveProject;     //项目综合可实施性
+    private String officeDifficulty;         //政处难度
     private String officeProgress;           //政处进度
-    private String cancelConfirmationDepartment;   //取消确认部门
-    private String truthRemark;              //储备项目交底信息-备注
+    private String powerFailureDifficulty;   //停电难度
+    private String powerFailureDescribe;     //停电描述
+    private String otherProblemDifficulty;   //其他问题难度
+    private String otherProblemDescribe;     //其他问题描述
+    private String runPlanRequire;           //是否需重跑方案
+    private String programChangeDescription; //方案变更说明
+    private String discloseRemarks;          //储备项目交底信息-备注
     private String demandUnitPriority;       //需求单位优先级
-    private String implementPlan;            //是否纳入实施计划
+    private String preliminaryArrangement;   //立项初安排
     private String initialImplementBatch;    //初定实施批次
-    private String preliminaryConstructionUnit;    //初定施工单位
-    private String preliminaryConstructionUnitProjectManager;    //初定施工单位项目经理
-    private String handConstructionSketches; //是否移交施工草图
+    private String initialImplementUnit;     //初定实施单位
+    private String projectManagementCenter;  //储备项目推进计划(项目管理中心)
+    private String completeProgressUnit;     //项目管理单位完成进度
+    private String projectReservePlan;       //储备项目推进计划(需求单位)
+    private String demandUnitProgress;       //需求单位完成进度
+    private String departmentPlan;           //政处计划(政处单位)
+    private String administrativeProgress;   //政处进度
+    private String drawMapPath;              //是否出路径图
+    private String planRemarks;              //储备项目推进计划-备注
+    private String arrangementProject;       //立项安排
+    private String implementationBatch;      //实施批次
+    private String constructionUnit;         //施工单位
+    private String drawOfficeDrawn;          //是否出正式图
+    private String projectInitiateRemarks;   //立项筛选-备注
+
+    private String pretrialEstimateAmount;  //概算信息(审前)- 总概算金额(含税)
+    private String pretrialEstimateAmountExcludeTax;  //概算信息(审前)- 总概算金额(不含税)
+    private String afterTrialEstimateAmount;  //概算信息(审后)- 总概算金额(含税)
+    private String afterTrialEstimateAmountExcludeTax;  //概算信息(审后)- 总概算金额(不含税)
+
 
     public String getProjectYear() {
         return projectYear;
@@ -249,68 +270,92 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
         this.includeReserve = includeReserve;
     }
 
-    public String getMajorProblemClassification() {
-        return majorProblemClassification;
+    public String getReasonForCancel() {
+        return reasonForCancel;
     }
 
-    public void setMajorProblemClassification(String majorProblemClassification) {
-        this.majorProblemClassification = majorProblemClassification;
+    public void setReasonForCancel(String reasonForCancel) {
+        this.reasonForCancel = reasonForCancel;
     }
 
-    public String getProblemDescription() {
-        return problemDescription;
+    public String getComprehensiveProject() {
+        return comprehensiveProject;
     }
 
-    public void setProblemDescription(String problemDescription) {
-        this.problemDescription = problemDescription;
+    public void setComprehensiveProject(String comprehensiveProject) {
+        this.comprehensiveProject = comprehensiveProject;
     }
 
-    public String getChangePlan() {
-        return changePlan;
+    public String getOfficeDifficulty() {
+        return officeDifficulty;
     }
 
-    public void setChangePlan(String changePlan) {
-        this.changePlan = changePlan;
+    public void setOfficeDifficulty(String officeDifficulty) {
+        this.officeDifficulty = officeDifficulty;
     }
 
-    public String getProgramChangeDescription() {
-        return programChangeDescription;
+    public String getOfficeProgress() {
+        return officeProgress;
     }
 
-    public void setProgramChangeDescription(String programChangeDescription) {
-        this.programChangeDescription = programChangeDescription;
+    public void setOfficeProgress(String officeProgress) {
+        this.officeProgress = officeProgress;
     }
 
-    public String getAdministrativeDifficulty() {
-        return administrativeDifficulty;
+    public String getPowerFailureDifficulty() {
+        return powerFailureDifficulty;
     }
 
-    public void setAdministrativeDifficulty(String administrativeDifficulty) {
-        this.administrativeDifficulty = administrativeDifficulty;
+    public void setPowerFailureDifficulty(String powerFailureDifficulty) {
+        this.powerFailureDifficulty = powerFailureDifficulty;
     }
 
-    public String getOfficeProgress() {
-        return officeProgress;
+    public String getPowerFailureDescribe() {
+        return powerFailureDescribe;
     }
 
-    public void setOfficeProgress(String officeProgress) {
-        this.officeProgress = officeProgress;
+    public void setPowerFailureDescribe(String powerFailureDescribe) {
+        this.powerFailureDescribe = powerFailureDescribe;
+    }
+
+    public String getOtherProblemDifficulty() {
+        return otherProblemDifficulty;
+    }
+
+    public void setOtherProblemDifficulty(String otherProblemDifficulty) {
+        this.otherProblemDifficulty = otherProblemDifficulty;
+    }
+
+    public String getOtherProblemDescribe() {
+        return otherProblemDescribe;
+    }
+
+    public void setOtherProblemDescribe(String otherProblemDescribe) {
+        this.otherProblemDescribe = otherProblemDescribe;
+    }
+
+    public String getRunPlanRequire() {
+        return runPlanRequire;
     }
 
-    public String getCancelConfirmationDepartment() {
-        return cancelConfirmationDepartment;
+    public void setRunPlanRequire(String runPlanRequire) {
+        this.runPlanRequire = runPlanRequire;
+    }
+
+    public String getProgramChangeDescription() {
+        return programChangeDescription;
     }
 
-    public void setCancelConfirmationDepartment(String cancelConfirmationDepartment) {
-        this.cancelConfirmationDepartment = cancelConfirmationDepartment;
+    public void setProgramChangeDescription(String programChangeDescription) {
+        this.programChangeDescription = programChangeDescription;
     }
 
-    public String getTruthRemark() {
-        return truthRemark;
+    public String getDiscloseRemarks() {
+        return discloseRemarks;
     }
 
-    public void setTruthRemark(String truthRemark) {
-        this.truthRemark = truthRemark;
+    public void setDiscloseRemarks(String discloseRemarks) {
+        this.discloseRemarks = discloseRemarks;
     }
 
     public String getDemandUnitPriority() {
@@ -321,12 +366,12 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
         this.demandUnitPriority = demandUnitPriority;
     }
 
-    public String getImplementPlan() {
-        return implementPlan;
+    public String getPreliminaryArrangement() {
+        return preliminaryArrangement;
     }
 
-    public void setImplementPlan(String implementPlan) {
-        this.implementPlan = implementPlan;
+    public void setPreliminaryArrangement(String preliminaryArrangement) {
+        this.preliminaryArrangement = preliminaryArrangement;
     }
 
     public String getInitialImplementBatch() {
@@ -337,27 +382,147 @@ public class ReserveSummary extends DataEntity<ReserveSummary> {
         this.initialImplementBatch = initialImplementBatch;
     }
 
-    public String getPreliminaryConstructionUnit() {
-        return preliminaryConstructionUnit;
+    public String getInitialImplementUnit() {
+        return initialImplementUnit;
+    }
+
+    public void setInitialImplementUnit(String initialImplementUnit) {
+        this.initialImplementUnit = initialImplementUnit;
+    }
+
+    public String getProjectManagementCenter() {
+        return projectManagementCenter;
+    }
+
+    public void setProjectManagementCenter(String projectManagementCenter) {
+        this.projectManagementCenter = projectManagementCenter;
+    }
+
+    public String getCompleteProgressUnit() {
+        return completeProgressUnit;
+    }
+
+    public void setCompleteProgressUnit(String completeProgressUnit) {
+        this.completeProgressUnit = completeProgressUnit;
+    }
+
+    public String getProjectReservePlan() {
+        return projectReservePlan;
+    }
+
+    public void setProjectReservePlan(String projectReservePlan) {
+        this.projectReservePlan = projectReservePlan;
+    }
+
+    public String getDemandUnitProgress() {
+        return demandUnitProgress;
+    }
+
+    public void setDemandUnitProgress(String demandUnitProgress) {
+        this.demandUnitProgress = demandUnitProgress;
+    }
+
+    public String getDepartmentPlan() {
+        return departmentPlan;
+    }
+
+    public void setDepartmentPlan(String departmentPlan) {
+        this.departmentPlan = departmentPlan;
+    }
+
+    public String getAdministrativeProgress() {
+        return administrativeProgress;
+    }
+
+    public void setAdministrativeProgress(String administrativeProgress) {
+        this.administrativeProgress = administrativeProgress;
+    }
+
+    public String getDrawMapPath() {
+        return drawMapPath;
+    }
+
+    public void setDrawMapPath(String drawMapPath) {
+        this.drawMapPath = drawMapPath;
+    }
+
+    public String getPlanRemarks() {
+        return planRemarks;
+    }
+
+    public void setPlanRemarks(String planRemarks) {
+        this.planRemarks = planRemarks;
+    }
+
+    public String getArrangementProject() {
+        return arrangementProject;
+    }
+
+    public void setArrangementProject(String arrangementProject) {
+        this.arrangementProject = arrangementProject;
+    }
+
+    public String getImplementationBatch() {
+        return implementationBatch;
+    }
+
+    public void setImplementationBatch(String implementationBatch) {
+        this.implementationBatch = implementationBatch;
+    }
+
+    public String getConstructionUnit() {
+        return constructionUnit;
+    }
+
+    public void setConstructionUnit(String constructionUnit) {
+        this.constructionUnit = constructionUnit;
+    }
+
+    public String getDrawOfficeDrawn() {
+        return drawOfficeDrawn;
+    }
+
+    public void setDrawOfficeDrawn(String drawOfficeDrawn) {
+        this.drawOfficeDrawn = drawOfficeDrawn;
+    }
+
+    public String getProjectInitiateRemarks() {
+        return projectInitiateRemarks;
+    }
+
+    public void setProjectInitiateRemarks(String projectInitiateRemarks) {
+        this.projectInitiateRemarks = projectInitiateRemarks;
+    }
+
+    public String getPretrialEstimateAmount() {
+        return pretrialEstimateAmount;
+    }
+
+    public void setPretrialEstimateAmount(String pretrialEstimateAmount) {
+        this.pretrialEstimateAmount = pretrialEstimateAmount;
+    }
+
+    public String getPretrialEstimateAmountExcludeTax() {
+        return pretrialEstimateAmountExcludeTax;
     }
 
-    public void setPreliminaryConstructionUnit(String preliminaryConstructionUnit) {
-        this.preliminaryConstructionUnit = preliminaryConstructionUnit;
+    public void setPretrialEstimateAmountExcludeTax(String pretrialEstimateAmountExcludeTax) {
+        this.pretrialEstimateAmountExcludeTax = pretrialEstimateAmountExcludeTax;
     }
 
-    public String getPreliminaryConstructionUnitProjectManager() {
-        return preliminaryConstructionUnitProjectManager;
+    public String getAfterTrialEstimateAmount() {
+        return afterTrialEstimateAmount;
     }
 
-    public void setPreliminaryConstructionUnitProjectManager(String preliminaryConstructionUnitProjectManager) {
-        this.preliminaryConstructionUnitProjectManager = preliminaryConstructionUnitProjectManager;
+    public void setAfterTrialEstimateAmount(String afterTrialEstimateAmount) {
+        this.afterTrialEstimateAmount = afterTrialEstimateAmount;
     }
 
-    public String getHandConstructionSketches() {
-        return handConstructionSketches;
+    public String getAfterTrialEstimateAmountExcludeTax() {
+        return afterTrialEstimateAmountExcludeTax;
     }
 
-    public void setHandConstructionSketches(String handConstructionSketches) {
-        this.handConstructionSketches = handConstructionSketches;
+    public void setAfterTrialEstimateAmountExcludeTax(String afterTrialEstimateAmountExcludeTax) {
+        this.afterTrialEstimateAmountExcludeTax = afterTrialEstimateAmountExcludeTax;
     }
 }

+ 62 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummaryProcess.java

@@ -20,7 +20,7 @@ public class ReserveSummaryProcess extends ActEntity<ReserveSummaryProcess> {
     private String projectName;
 
     /**
-     * 储备项目基础数据
+     * 储备项目汇总数据
      */
     private ReserveSummary reserveSummary;
 
@@ -56,6 +56,12 @@ public class ReserveSummaryProcess extends ActEntity<ReserveSummaryProcess> {
      * 拆旧材料清册
      */
     private String demolition;
+
+    /**
+     * 土建现浇审批单
+     */
+    private String approvalForm;
+
     //预算书审前审后数据
     private String pretrialBudgetTaxInclude;                //审前概算(含税)
     private String pretrialBudgetTaxNoInclude;              //审前概算(不含税)
@@ -79,6 +85,13 @@ public class ReserveSummaryProcess extends ActEntity<ReserveSummaryProcess> {
     private String demolitionEngineeringProblems;        //拆除工程问题
     private String otherProblem;                         //其他问题
 
+    //项目经理审图问题反馈
+    private String drawingAndSiteProblem;                //图纸与现场一致性问题
+    private String communicationProblem;                 //自动化通信方式问题
+    private String civilPrefabricateProblem;             //土建预制化问题
+    private String liveWorkNumProblem;                   //带电作业次数问题
+    private String projectManagerOtherProblem;           //其他问题
+
     public String getPreferedCase() {
         return preferedCase;
     }
@@ -310,4 +323,52 @@ public class ReserveSummaryProcess extends ActEntity<ReserveSummaryProcess> {
     public void setAfterTrialDesignFeeTaxNoInclude(String afterTrialDesignFeeTaxNoInclude) {
         this.afterTrialDesignFeeTaxNoInclude = afterTrialDesignFeeTaxNoInclude;
     }
+
+    public String getApprovalForm() {
+        return approvalForm;
+    }
+
+    public void setApprovalForm(String approvalForm) {
+        this.approvalForm = approvalForm;
+    }
+
+    public String getDrawingAndSiteProblem() {
+        return drawingAndSiteProblem;
+    }
+
+    public void setDrawingAndSiteProblem(String drawingAndSiteProblem) {
+        this.drawingAndSiteProblem = drawingAndSiteProblem;
+    }
+
+    public String getCommunicationProblem() {
+        return communicationProblem;
+    }
+
+    public void setCommunicationProblem(String communicationProblem) {
+        this.communicationProblem = communicationProblem;
+    }
+
+    public String getCivilPrefabricateProblem() {
+        return civilPrefabricateProblem;
+    }
+
+    public void setCivilPrefabricateProblem(String civilPrefabricateProblem) {
+        this.civilPrefabricateProblem = civilPrefabricateProblem;
+    }
+
+    public String getLiveWorkNumProblem() {
+        return liveWorkNumProblem;
+    }
+
+    public void setLiveWorkNumProblem(String liveWorkNumProblem) {
+        this.liveWorkNumProblem = liveWorkNumProblem;
+    }
+
+    public String getProjectManagerOtherProblem() {
+        return projectManagerOtherProblem;
+    }
+
+    public void setProjectManagerOtherProblem(String projectManagerOtherProblem) {
+        this.projectManagerOtherProblem = projectManagerOtherProblem;
+    }
 }

+ 56 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/CompanyReviewMapper.java

@@ -0,0 +1,56 @@
+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.CompanyReview;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 省公司评审
+ * @author: 王强
+ * @create: 2022-10-24 15:58
+ **/
+@MyBatisMapper
+public interface CompanyReviewMapper extends BaseMapper<CompanyReview> {
+
+    /**
+     * 根据 项目储备编号删除对应的流程信息
+     * @param proId
+     */
+    void deleteActivityByProId(String proId);
+
+    /**
+     * 获取所有的projectReserveId
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 去汇总表中获取所有的projectReserveId
+     * @return
+     */
+    List<String> getAllProId2();
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param companyReview
+     * @return
+     */
+    CompanyReview queryByProjectReserveId(CompanyReview companyReview);
+
+    /**
+     * 批量添加省公司评审信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<CompanyReview> list);
+
+    /**
+     * 导出数据查询
+     * @param companyReview
+     * @return
+     */
+    List<CompanyReview> exportFindList(CompanyReview companyReview);
+}

+ 27 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/DocumentInfoMapper.java

@@ -0,0 +1,27 @@
+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.DocumentInfo;
+
+/**
+ * 流程文件信息表 mapper
+ * @author: 王强
+ * @create: 2022-10-26 14:30
+ **/
+@MyBatisMapper
+public interface DocumentInfoMapper extends BaseMapper<DocumentInfo> {
+
+    /**
+     * 根据  项目储备id 删除数据
+     * @param proId
+     */
+    void deleteInfoByProId(String proId);
+
+    /**
+     * 根据项目储备id 查询数据
+     * @param proId
+     * @return
+     */
+    DocumentInfo getInfoByProId(String proId);
+}

+ 14 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/FeedBackBudgetMapper.java

@@ -13,7 +13,20 @@ import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.FeedB
 public interface FeedBackBudgetMapper extends BaseMapper<FeedBackBudget> {
 
     /**
-     * 根据 projectReserveId将相关的材料拆旧清册数据清空
+     * 根据项目储备id获取  问题反馈信息
+     * @param proId
+     * @return
+     */
+    FeedBackBudget getInfoByProId(String proId);
+
+    /**
+     * 根据项目储备编号  修改预算问题反馈记录
+     * @param backBudget
+     */
+    void updateInFoByProId(FeedBackBudget backBudget);
+
+    /**
+     * 根据 projectReserveId将相关的材预算问题反馈记录数据清空
      * @param projectReserveId
      */
     void deleteByProjectReserveId(String projectReserveId);

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

@@ -17,6 +17,24 @@ import java.util.List;
 public interface ReserveElectricityWorkMapper extends BaseMapper<ReserveElectricityWork> {
 
     /**
+     * 修改用户分界开关数量
+     * @param allNum
+     */
+    void updateSwitchNum(String allNum);
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 从基本数据表中获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId2();
+
+    /**
      * 根据项目储备id查询项目信息
      * @param reserveManagement
      * @return

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

@@ -17,6 +17,25 @@ import java.util.List;
 public interface ReservePreconstructMapper extends BaseMapper<ReservePreconstruction> {
 
     /**
+     * 修改设计预制化信息
+     */
+    void updateMetion(@Param("designCivilFoundation") String designCivilFoundation,
+                      @Param("castInPlaceList") String castInPlaceList,
+                      @Param("designList") String designList);
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 从基本数据表中获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId2();
+
+    /**
      * 根据项目储备id查询项目信息
      * @param reserveManagement
      * @return

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

@@ -17,6 +17,26 @@ import java.util.List;
 public interface ReserveProcessProjectMapper extends BaseMapper<ReserveProcessProject> {
 
     /**
+     * 根据projectReserveId 查出改项目的流程状态
+     * @param proId
+     * @return
+     */
+    int getProcessStatus(String proId);
+
+    /**
+     * 根据储备流程id修改流程状态
+     * @param proId
+     * @param status
+     */
+    void updateProcessStatus(@Param("proId") String proId, @Param("status") int status);
+
+    /**
+     * 获取所有的projectReserveId
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
      * 根据流程的procInsId 查出储备项目名称,和项目定义号
      * @param procInsId
      * @return

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

@@ -17,6 +17,18 @@ import java.util.List;
 public interface ReserveSafeDisclosureMapper extends BaseMapper<ReserveSafety> {
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 从基本数据表中获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId2();
+
+    /**
      * 根据项目储备id查询项目信息
      * @param reserveManagement
      * @return

+ 65 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveSummaryProcessMapper.java

@@ -2,6 +2,7 @@ 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.ActRunTaskTest;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
 import org.apache.ibatis.annotations.Param;
@@ -16,6 +17,63 @@ import java.util.List;
 public interface ReserveSummaryProcessMapper extends BaseMapper<ReserveSummaryProcess> {
 
     /**
+     * 获取act_hi_comment表中的原因
+     * @return
+     */
+    String getMessage();
+
+    /**
+     * 将  设计单位的数据  插入到  act_ru_task 表中
+     * @param taskTest
+     */
+//    void insertIntoTask(ActRunTaskTest taskTest);
+
+    /**
+     * 根据   proc_def_id,和节点名称 删除 表 act_ru_task 的  项目经理审图 和 联合审图 相关数据
+     * @param procId
+     */
+    void deleteByProcId(@Param("procId") String procId,@Param("name") String name);
+
+    /**
+     * 根据 proc_def_id 和 task_def_key_来删除表act_ru_execution的相关数据
+     * @param procId
+     * @param taskKey
+     */
+    void deleteExecution(@Param("procId") String procId,@Param("taskKey") String taskKey);
+
+    /**
+     * 根据 项目储备编号  查出设计单位节点信息
+     * @param proId
+     * @return
+     */
+    ActRunTaskTest getByProId(String proId);
+
+    /**
+     * 将ActRunTaskTest  设计单位的节点信息 做持久化操作
+     * @param taskTest
+     */
+    void insertIntoActRunTask(ActRunTaskTest taskTest);
+
+    /**
+     * 估计 项目储备编号  删除信息
+     * @param proId
+     */
+    void deleteIntoActRunTaskByProId(String proId);
+
+    /**
+     * 获取act_run_task的设计单位节点数据
+     * @return
+     */
+    ActRunTaskTest getInfo();
+
+    /**
+     * 根据 项目名称 查看甲供材信息
+     * @param projectName
+     * @return
+     */
+    int getCountByName(String projectName);
+
+    /**
      * 通过procInsId查询项目定义号
      * */
     String findProjectId(ReserveSummaryProcess reserveProcess);
@@ -26,6 +84,13 @@ public interface ReserveSummaryProcessMapper extends BaseMapper<ReserveSummaryPr
     void deleteMaterial(String projectName);
 
     /**
+     * 根据物料编码查出所有的 总数之和
+     * @param materialCode
+     * @return
+     */
+    Double getAllNum(String materialCode);
+
+    /**
      * 插入对应的项目甲供材信息
      * */
     void insertList(@Param("list") List<MaterialInfo> list);

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

@@ -17,6 +17,34 @@ import java.util.List;
 public interface SummaryStatisticMapper extends BaseMapper<ReserveSummary> {
 
     /**
+     * 根据 项目储备编号  修改是否纳入储备字段 和 取消原因说明字段
+     * @param proId
+     * @param includeReserve
+     * @param reasonForCancel
+     */
+    void updateReserveSummary(@Param("proId") String proId,
+                              @Param("includeReserve") String includeReserve,
+                              @Param("reasonForCancel") String reasonForCancel);
+
+    /**
+     * 查出所有的  项目编码 及 是否纳入储备字段
+     * @return
+     */
+    List<ReserveSummary> getAllCode();
+
+    /**
+     * 从数据库中查出所有的 项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 从基本数据表中查出所有的 项目储备编号
+     * @return
+     */
+    List<String> getAllProId2();
+
+    /**
      * 根据项目储备id查询项目信息
      * @param reserveManagement
      * @return

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

@@ -0,0 +1,200 @@
+<?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.CompanyReviewMapper">
+
+    <sql id="companyReviewColumns">
+        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",
+		b.projectYear,
+		b.projectNature,
+		b.demandUnit,
+		b.district,
+		b.projectGroup,
+		b.reserveBatches,
+		b.blockSupply,
+		b.gridNumber,
+		b.cellNumber,
+		a.projectReserveId,
+		b.projectName,
+		b.constructionNecessityAndContent,
+		b.substationName,
+		b.circuitName,
+		b.netRackProjectDivide,
+		b.requirementType,
+		b.costEstimate,
+		b.basicRemarks,
+		a.joinProvincialCompanyReview,
+		a.batchOfProvincialCompany,
+		a.passProvincialCompanyReview,
+		a.reviewComments,
+		a.designChangeRequired,
+		a.companyRemarks
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_company_review (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectReserveId,
+        joinProvincialCompanyReview,
+        batchOfProvincialCompany,
+        passProvincialCompanyReview,
+        reviewComments,
+        designChangeRequired,
+        companyRemarks
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectReserveId},
+            #{joinProvincialCompanyReview},
+            #{batchOfProvincialCompany},
+            #{passProvincialCompanyReview},
+            #{reviewComments},
+            #{designChangeRequired},
+            #{companyRemarks}
+            )
+    </insert>
+
+    <insert id="insertList">
+        insert into cg_reserve_company_review (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectReserveId,
+        joinProvincialCompanyReview,
+        batchOfProvincialCompany,
+        passProvincialCompanyReview,
+        reviewComments,
+        designChangeRequired,
+        companyRemarks
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectReserveId},
+            #{item.joinProvincialCompanyReview},
+            #{item.batchOfProvincialCompany},
+            #{item.passProvincialCompanyReview},
+            #{item.reviewComments},
+            #{item.designChangeRequired},
+            #{item.companyRemarks}
+
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_company_review
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        joinProvincialCompanyReview = #{joinProvincialCompanyReview},
+        batchOfProvincialCompany = #{batchOfProvincialCompany},
+        passProvincialCompanyReview = #{passProvincialCompanyReview},
+        reviewComments = #{reviewComments},
+        designChangeRequired = #{designChangeRequired},
+        companyRemarks = #{companyRemarks}
+        where id = #{id}
+	</update>
+    <delete id="deleteActivityByProId">
+        delete from cg_personnel_activiti where projectReserveId = #{proId}
+    </delete>
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.CompanyReview">
+        select
+        <include refid="companyReviewColumns"/>
+        from cg_reserve_company_review a
+        left join cg_reserve_process 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 b.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="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.CompanyReview">
+        select
+        <include refid="companyReviewColumns"/>
+        from cg_reserve_company_review a
+        left join cg_reserve_process b
+        on a.projectReserveId = b.projectReserveId
+        where a.id = #{id}
+    </select>
+
+    <select id="getAllProId" resultType="java.lang.String">
+        SELECT projectReserveId FROM cg_reserve_company_review
+    </select>
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.CompanyReview">
+        select
+        <include refid="companyReviewColumns"/>
+        from cg_reserve_company_review a
+        left join cg_reserve_process b
+        on a.projectReserveId = b.projectReserveId
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+    <select id="getAllProId2" resultType="java.lang.String">
+        SELECT projectReserveId FROM cg_reserve_summary_statistics
+    </select>
+    <select id="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.CompanyReview">
+        select
+        <include refid="companyReviewColumns"/>
+        from cg_reserve_company_review a
+        left join cg_reserve_process 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 b.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+    </select>
+</mapper>

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

@@ -0,0 +1,67 @@
+<?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.DocumentInfoMapper">
+
+    <sql id="reserveManagementColumn">
+        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.projectReserveId,
+		a.budgetStatement,
+		a.projectProposal,
+		a.drawings,
+		a.drawingSpecification,
+		a.demolition,
+		a.approvalForm
+
+    </sql>
+
+    <insert id="insert">
+        insert into cg_document_info (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectReserveId,
+		budgetStatement,
+		projectProposal,
+		drawings,
+		drawingSpecification,
+		demolition,
+		approvalForm
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectReserveId},
+            #{budgetStatement},
+            #{projectProposal},
+            #{drawings},
+            #{drawingSpecification},
+            #{demolition},
+            #{approvalForm}
+            )
+    </insert>
+    <delete id="deleteInfoByProId">
+        delete from cg_document_info where projectReserveId = #{proId}
+    </delete>
+    <select id="getInfoByProId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.DocumentInfo">
+        select
+        <include refid="reserveManagementColumn"/>
+        from cg_document_info a
+        where projectReserveId = #{proId}
+    </select>
+
+
+</mapper>

+ 63 - 2
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/FeedBackBudgetMapper.xml

@@ -2,6 +2,32 @@
 <!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.FeedBackBudgetMapper">
 
+    <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.projectReserveId AS "projectReserveId",
+		a.preferedCase AS "preferedCase",
+		a.transferSituation AS "transferSituation",
+		a.budgetTemplateCheck AS "budgetTemplateCheck",
+		a.quotaApplicationCheck AS "quotaApplicationCheck",
+		a.workLoadCheck AS "workLoadCheck",
+		a.checkTheFee AS "checkTheFee",
+		a.supplyCheck AS "supplyCheck",
+		a.materialCheck AS "materialCheck",
+		a.liveWorkFeeCheck AS "liveWorkFeeCheck",
+		a.demolitionEngineeringProblems AS "demolitionEngineeringProblems",
+		a.otherProblem AS "otherProblem",
+		a.drawingAndSiteProblem AS "drawingAndSiteProblem",
+		a.communicationProblem AS "communicationProblem",
+		a.civilPrefabricateProblem AS "civilPrefabricateProblem",
+		a.liveWorkNumProblem AS "liveWorkNumProblem",
+		a.projectManagerOtherProblem AS "projectManagerOtherProblem"
+    </sql>
+
     <insert id="insert">
         insert into cg_feedback_on_budget (
         id,
@@ -21,7 +47,12 @@
         materialCheck,
         liveWorkFeeCheck,
         demolitionEngineeringProblems,
-        otherProblem
+        otherProblem,
+        drawingAndSiteProblem,
+        communicationProblem,
+        civilPrefabricateProblem,
+        liveWorkNumProblem,
+        projectManagerOtherProblem
         )
         values
             (
@@ -42,9 +73,32 @@
             #{materialCheck},
             #{liveWorkFeeCheck},
             #{demolitionEngineeringProblems},
-            #{otherProblem}
+            #{otherProblem},
+            #{drawingAndSiteProblem},
+            #{communicationProblem},
+            #{civilPrefabricateProblem},
+            #{liveWorkNumProblem},
+            #{projectManagerOtherProblem}
             )
     </insert>
+    <update id="updateInFoByProId">
+        update cg_feedback_on_budget
+        set
+        preferedCase = #{preferedCase},
+        transferSituation = #{transferSituation},
+        budgetTemplateCheck = #{budgetTemplateCheck},
+        quotaApplicationCheck = #{quotaApplicationCheck},
+        workLoadCheck = #{workLoadCheck},
+        checkTheFee = #{checkTheFee},
+        supplyCheck = #{supplyCheck},
+        materialCheck = #{materialCheck},
+        liveWorkFeeCheck = #{liveWorkFeeCheck},
+        demolitionEngineeringProblems = #{demolitionEngineeringProblems},
+        otherProblem = #{otherProblem}
+        where projectReserveId = #{projectReserveId}
+
+    </update>
+
     <delete id="deleteByProjectReserveId">
         delete from cg_feedback_on_budget where projectReserveId = #{projectReserveId}
     </delete>
@@ -52,4 +106,11 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.FeedBackBudget">
         select * from cg_feedback_on_budget where projectReserveId = #{projectReserveId}
     </select>
+    <select id="getInfoByProId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.FeedBackBudget">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_feedback_on_budget a
+        where a.projectReserveId = #{proId}
+    </select>
 </mapper>

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

@@ -52,7 +52,7 @@
 		a.civilConstructionMaterialOpen,
 		a.electricalPickListOpen,
 		a.administrativeOfficeRemark,
-        c.implementPlan as 'implementPlan',
+--         c.implementPlan as 'implementPlan',
         c.initialImplementBatch as 'intendBatch',
         b.ownerProjectManager as 'projectManager'
 

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

@@ -10,14 +10,11 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
 		a.projectReserveId,
-		a.teansFormerOrPackageProject,
-		a.packageProject,
-		a.packageItemQuantity,
-		a.deviceName,
-		a.workWithElectricity,
-		a.electricityTypeNumber,
-		a.electricityWorkNumber,
+		a.hotLineWork,
+		a.boundarySwitchNum,
+		a.hotLineWorkTypeNo,
 		a.noStopWorkPlan,
+		a.powerFailureNum,
 		a.reasonsForNotWorkInterruption,
 		a.powerOutagePlan,
 		a.planner,
@@ -50,19 +47,16 @@
 		b.requirementType,
 		b.costEstimate,
 		b.basicRemarks,
-		a.teansFormerOrPackageProject,
-		a.packageProject,
-		a.packageItemQuantity,
-		a.deviceName,
-		a.workWithElectricity,
-		a.electricityTypeNumber,
-		a.electricityWorkNumber,
+		a.hotLineWork,
+		a.boundarySwitchNum,
+		a.hotLineWorkTypeNo,
 		a.noStopWorkPlan,
+		a.powerFailureNum,
 		a.reasonsForNotWorkInterruption,
 		a.powerOutagePlan,
 		a.planner,
 		a.siteSurveyor,
-	    c.implementPlan,
+-- 	    c.implementPlan,
 	    c.initialImplementBatch as implementBatch
 
     </sql>
@@ -76,14 +70,11 @@
         update_date,
         del_flag,
         projectReserveId,
-		teansFormerOrPackageProject,
-		packageProject,
-		packageItemQuantity,
-		deviceName,
-		workWithElectricity,
-		electricityTypeNumber,
-		electricityWorkNumber,
+		hotLineWork,
+		boundarySwitchNum,
+		hotLineWorkTypeNo,
 		noStopWorkPlan,
+		powerFailureNum,
 		reasonsForNotWorkInterruption,
 		powerOutagePlan,
 		planner,
@@ -98,14 +89,11 @@
             #{updateDate},
             #{delFlag},
             #{projectReserveId},
-            #{teansFormerOrPackageProject},
-            #{packageProject},
-            #{packageItemQuantity},
-            #{deviceName},
-            #{workWithElectricity},
-            #{electricityTypeNumber},
-            #{electricityWorkNumber},
+            #{hotLineWork},
+            #{boundarySwitchNum},
+            #{hotLineWorkTypeNo},
             #{noStopWorkPlan},
+            #{powerFailureNum},
             #{reasonsForNotWorkInterruption},
             #{powerOutagePlan},
             #{planner},
@@ -122,18 +110,15 @@
 		update_date,
 		del_flag,
 		projectReserveId,
-		teansFormerOrPackageProject,
-		packageProject,
-		packageItemQuantity,
-		deviceName,
-		workWithElectricity,
-		electricityTypeNumber,
-		electricityWorkNumber,
-		noStopWorkPlan,
-		reasonsForNotWorkInterruption,
-		powerOutagePlan,
-		planner,
-		siteSurveyor
+        hotLineWork,
+        boundarySwitchNum,
+        hotLineWorkTypeNo,
+        noStopWorkPlan,
+        powerFailureNum,
+        reasonsForNotWorkInterruption,
+        powerOutagePlan,
+        planner,
+        siteSurveyor
 		)
 		values
 		<foreach collection="list" item="item" index="index" separator="," >
@@ -145,18 +130,15 @@
 			#{item.updateDate},
 			#{item.delFlag},
 			#{item.projectReserveId},
-			#{item.teansFormerOrPackageProject},
-			#{item.packageProject},
-			#{item.packageItemQuantity},
-			#{item.deviceName},
-			#{item.workWithElectricity},
-			#{item.electricityTypeNumber},
-			#{item.electricityWorkNumber},
-			#{item.noStopWorkPlan},
-			#{item.reasonsForNotWorkInterruption},
-			#{item.powerOutagePlan},
-			#{item.planner},
-			#{item.siteSurveyor}
+            #{item.hotLineWork},
+            #{item.boundarySwitchNum},
+            #{item.hotLineWorkTypeNo},
+            #{item.noStopWorkPlan},
+            #{item.powerFailureNum},
+            #{item.reasonsForNotWorkInterruption},
+            #{item.powerOutagePlan},
+            #{item.planner},
+            #{item.siteSurveyor}
 			)
 		</foreach>
 	</insert>
@@ -167,20 +149,23 @@
         set
         update_by = #{updateBy.id},
         update_date = #{updateDate},
-        teansFormerOrPackageProject = #{teansFormerOrPackageProject},
-        packageProject = #{packageProject},
-        packageItemQuantity = #{packageItemQuantity},
-        deviceName = #{deviceName},
-        workWithElectricity = #{workWithElectricity},
-        electricityTypeNumber = #{electricityTypeNumber},
-        electricityWorkNumber = #{electricityWorkNumber},
+        hotLineWork = #{hotLineWork},
+        boundarySwitchNum = #{boundarySwitchNum},
+        hotLineWorkTypeNo = #{hotLineWorkTypeNo},
         noStopWorkPlan = #{noStopWorkPlan},
+        powerFailureNum = #{powerFailureNum},
         reasonsForNotWorkInterruption = #{reasonsForNotWorkInterruption},
         powerOutagePlan = #{powerOutagePlan},
         planner = #{planner},
         siteSurveyor = #{siteSurveyor}
         where id = #{id}
 	</update>
+    <update id="updateSwitchNum">
+        update
+        cg_reserve_electricity_work_information
+        set
+        boundarySwitchNum = #{allNum}
+    </update>
 
     <select id="queryByProjectReserveId"
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork">
@@ -264,4 +249,10 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_electricity_work_information
+    </select>
+    <select id="getAllProId2" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

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

@@ -31,9 +31,9 @@
 		a.confessPrefab,
 		a.confessPrefabDescription,
 		a.designCivilFoundation,
-		a.designPrefab,
-		a.designPrefabDescription,
-        c.implementPlan as 'implementPlan',
+		a.castInPlaceList,
+		a.designList,
+--         c.implementPlan as 'implementPlan',
         c.initialImplementBatch as 'implementBatch'
 
     </sql>
@@ -51,8 +51,8 @@
 		confessPrefab,
 		confessPrefabDescription,
 		designCivilFoundation,
-		designPrefab,
-		designPrefabDescription
+		castInPlaceList,
+		designList
         )
         values
             (
@@ -67,8 +67,8 @@
             #{confessPrefab},
             #{confessPrefabDescription},
             #{designCivilFoundation},
-            #{designPrefab},
-            #{designPrefabDescription}
+            #{castInPlaceList},
+            #{designList}
             )
     </insert>
 
@@ -85,8 +85,8 @@
         confessPrefab,
         confessPrefabDescription,
         designCivilFoundation,
-        designPrefab,
-        designPrefabDescription
+        castInPlaceList,
+        designList
         )
         values
         <foreach collection="list" item="item" index="index" separator="," >
@@ -102,8 +102,8 @@
             #{item.confessPrefab},
             #{item.confessPrefabDescription},
             #{item.designCivilFoundation},
-            #{item.designPrefab},
-            #{item.designPrefabDescription}
+            #{item.castInPlaceList},
+            #{item.designList}
             )
         </foreach>
     </insert>
@@ -118,11 +118,19 @@
         confessPrefab = #{confessPrefab},
         confessPrefabDescription = #{confessPrefabDescription},
         designCivilFoundation = #{designCivilFoundation},
-        designPrefab = #{designPrefab},
-        designPrefabDescription = #{designPrefabDescription}
+        castInPlaceList = #{castInPlaceList},
+        designList = #{designList}
 
         where id = #{id}
 	</update>
+    <update id="updateMetion">
+        update
+        cg_reserve_preconstruction_information
+        set
+        designCivilFoundation = #{designCivilFoundation},
+        castInPlaceList = #{castInPlaceList},
+        designList = #{designList}
+    </update>
 
     <select id="queryByProjectReserveId"
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction">
@@ -211,4 +219,10 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_preconstruction_information
+    </select>
+    <select id="getAllProId2" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

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

@@ -35,7 +35,8 @@
 		a.technicalStaff,
 		a.operationAndMaintenancePersonnel,
 		a.designer,
-		a.budgetPreparer
+		a.budgetPreparer,
+		a.processStatus
     </sql>
 
     <insert id="insert">
@@ -72,7 +73,8 @@
         technicalStaff,
         operationAndMaintenancePersonnel,
         designer,
-        budgetPreparer
+        budgetPreparer,
+        processStatus
         )
         values
             (
@@ -108,7 +110,8 @@
             #{technicalStaff},
             #{operationAndMaintenancePersonnel},
             #{designer},
-            #{budgetPreparer}
+            #{budgetPreparer},
+            #{processStatus}
             )
     </insert>
     <insert id="insertList">
@@ -145,7 +148,8 @@
         technicalStaff,
         operationAndMaintenancePersonnel,
         designer,
-        budgetPreparer
+        budgetPreparer,
+        processStatus
         )
         values
         <foreach collection="list" item="item" index="index" separator="," >
@@ -182,7 +186,8 @@
             #{item.technicalStaff},
             #{item.operationAndMaintenancePersonnel},
             #{item.designer},
-            #{item.budgetPreparer}
+            #{item.budgetPreparer},
+            #{item.processStatus}
             )
         </foreach>
     </insert>
@@ -218,7 +223,8 @@
         technicalStaff = #{technicalStaff},
         operationAndMaintenancePersonnel = #{operationAndMaintenancePersonnel},
         designer = #{designer},
-        budgetPreparer = #{budgetPreparer}
+        budgetPreparer = #{budgetPreparer},
+        processStatus = #{processStatus}
         where id = #{id}
 	</update>
 
@@ -266,6 +272,7 @@
             designer = #{designer},
         </if>
         budgetPreparer = #{budgetPreparer},
+        processStatus = #{processStatus}
 --         uninterruptedWorkSurveyPersonnel = #{uninterruptedWorkSurveyPersonnel}
         where id = #{id}
     </update>
@@ -313,6 +320,7 @@
             designer = #{designer},
         </if>
         budgetPreparer = #{budgetPreparer},
+        processStatus = #{processStatus}
 --         uninterruptedWorkSurveyPersonnel = #{uninterruptedWorkSurveyPersonnel}
         where projectReserveId = #{projectReserveId}
     </update>
@@ -438,6 +446,7 @@
 		operationAndMaintenancePersonnel,
 		designer,
 		budgetPreparer,
+		processStatus,
 -- 		uninterruptedWorkSurveyPersonnel
         from cg_reserve_process
         where projectReserveId = (select projectReserveId from cb_personnel_activiti where proc_ins_id = #{procInsId})
@@ -495,6 +504,10 @@
         where id = #{id}
     </update>
 
+    <update id="updateProcessStatus">
+        update cg_reserve_process set processStatus = #{status} where projectReserveId = #{proId}
+    </update>
+
     <select id="findDefId" resultType="java.lang.String">
         select ID_
         FROM act_re_procdef
@@ -514,4 +527,10 @@
          (SELECT projectReserveId FROM cg_personnel_activiti
          WHERE proc_ins_id = #{procInsId})
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        SELECT projectReserveId FROM cg_reserve_process
+    </select>
+    <select id="getProcessStatus" resultType="java.lang.Integer">
+        SELECT processStatus FROM cg_reserve_process WHERE projectReserveId = #{proId}
+    </select>
 </mapper>

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

@@ -315,4 +315,10 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_safety_disclosure_information
+    </select>
+    <select id="getAllProId2" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

+ 155 - 13
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveSummaryProcessMapper.xml

@@ -30,18 +30,31 @@
 		b.costEstimate as 'reserveSummary.costEstimate',
 		b.basicRemarks as 'reserveSummary.basicRemarks',
 		a.includeReserve as 'reserveSummary.includeReserve',
-		a.majorProblemClassification as 'reserveSummary.majorProblemClassification',
-		a.problemDescription as 'reserveSummary.problemDescription',
-		a.changePlan as 'reserveSummary.changePlan',
+		a.reasonForCancel as 'reserveSummary.reasonForCancel',
+		a.comprehensiveProject as 'reserveSummary.comprehensiveProject',
+		a.powerFailureDifficulty as 'reserveSummary.powerFailureDifficulty',
+		a.powerFailureDescribe as 'reserveSummary.powerFailureDescribe',
+		a.otherProblemDifficulty as 'reserveSummary.otherProblemDifficulty',
+		a.otherProblemDescribe as 'reserveSummary.otherProblemDescribe',
+		a.runPlanRequire as 'reserveSummary.runPlanRequire',
 		a.programChangeDescription as 'reserveSummary.programChangeDescription',
-		a.cancelConfirmationDepartment as 'reserveSummary.cancelConfirmationDepartment',
-		a.truthRemark as 'reserveSummary.truthRemark',
+		a.discloseRemarks as 'reserveSummary.discloseRemarks',
 		a.demandUnitPriority as 'reserveSummary.demandUnitPriority',
-		a.implementPlan as 'reserveSummary.implementPlan',
+		a.preliminaryArrangement as 'reserveSummary.preliminaryArrangement',
 		a.initialImplementBatch as 'reserveSummary.initialImplementBatch',
-		a.preliminaryConstructionUnit as 'reserveSummary.preliminaryConstructionUnit',
-		a.preliminaryConstructionUnitProjectManager as 'reserveSummary.preliminaryConstructionUnitProjectManager',
-		a.handConstructionSketches as 'reserveSummary.handConstructionSketches'
+		a.initialImplementUnit as 'reserveSummary.initialImplementUnit',
+		a.projectManagementCenter as 'reserveSummary.projectManagementCenter',
+		a.completeProgressUnit as 'reserveSummary.completeProgressUnit',
+		a.projectReservePlan as 'reserveSummary.projectReservePlan',
+		a.demandUnitProgress as 'reserveSummary.demandUnitProgress',
+		a.departmentPlan as 'reserveSummary.departmentPlan',
+		a.planRemarks as 'reserveSummary.planRemarks',
+		a.drawMapPath as 'reserveSummary.drawMapPath',
+		a.arrangementProject as 'reserveSummary.arrangementProject',
+		a.implementationBatch as 'reserveSummary.implementationBatch',
+		a.constructionUnit as 'reserveSummary.constructionUnit',
+		a.drawOfficeDrawn as 'reserveSummary.drawOfficeDrawn',
+		a.projectInitiateRemarks as 'reserveSummary.projectInitiateRemarks'
 
     </sql>
 
@@ -108,12 +121,97 @@
             )
         </foreach>
     </insert>
+<!--    <insert id="insertIntoTask">-->
+<!--        insert into act_ru_task(-->
+<!--        ID_,REV_,EXECUTION_ID_,PROC_INST_ID_,PROC_DEF_ID_,NAME_,-->
+<!--        PARENT_TASK_ID_,DESCRIPTION_,TASK_DEF_KEY_,OWNER_,-->
+<!--        ASSIGNEE_,DELEGATION_,PRIORITY_,CREATE_TIME_,DUE_DATE_,CATEGORY_,-->
+<!--        SUSPENSION_STATE_,TENANT_ID_,FORM_KEY_-->
+<!--        )-->
+<!--        values (-->
+<!--        #{id},-->
+<!--        #{rev},-->
+<!--        #{executionId},-->
+<!--        #{procInsId},-->
+<!--        #{procDefId},-->
+<!--        #{name},-->
+<!--        #{parentTaskId},-->
+<!--        #{description},-->
+<!--        #{taskDefKey},-->
+<!--        #{owner},-->
+<!--        #{assignee},-->
+<!--        #{delegation},-->
+<!--        #{priority},-->
+<!--        #{createTime},-->
+<!--        #{dueDate},-->
+<!--        #{category},-->
+<!--        #{suspension},-->
+<!--        #{tenantId},-->
+<!--        #{formKey}-->
+<!--        )-->
+<!--    </insert>-->
+    <insert id="insertIntoActRunTask">
+        insert into cg_act_run_task(
+            id,
+            create_by,
+            create_date,
+            update_by,
+            update_date,
+            del_flag,
+            projectReserveId,
+            rev,
+            executionId,
+            procInsId,
+            procDefId,
+            name,
+            parentTaskId,
+            description,
+            taskDefKey,
+            owner,
+            assignee,
+            delegation,
+            priority,
+            createTime,
+            dueDate,
+            category,
+            suspension,
+            tenantId,
+            formKey
+        )
+        values (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{delFlag},
+                #{projectReserveId},
+                #{rev},
+                #{executionId},
+                #{procInsId},
+                #{procDefId},
+                #{name},
+                #{parentTaskId},
+                #{description},
+                #{taskDefKey},
+                #{owner},
+                #{assignee},
+                #{delegation},
+                #{priority},
+                #{createTime},
+                #{dueDate},
+                #{category},
+                #{suspension},
+                #{tenantId},
+                #{formKey}
+                )
+    </insert>
     <update id="updateDesign">
         update cg_personnel_activiti
         set budgetStatement = #{budgetStatement},
             projectProposal = #{projectProposal},
             drawings = #{drawings},
-            drawingSpecification = #{drawingSpecification}
+            drawingSpecification = #{drawingSpecification},
+            demolition = #{demolition}
         where projectReserveId = #{projectReserveId}
     </update>
     <delete id="deleteMaterial">
@@ -125,6 +223,15 @@
         from cg_personnel_activiti
         where projectReserveId = #{projectReserveId}
     </delete>
+    <delete id="deleteExecution">
+        delete from act_ru_execution where PROC_DEF_ID_ = #{procId} and ACT_ID_ = #{taskKey}
+    </delete>
+    <delete id="deleteByProcId">
+        delete from act_ru_task where PROC_DEF_ID_ = #{procId} and NAME_ = #{name}
+    </delete>
+    <delete id="deleteIntoActRunTaskByProId">
+        delete from cg_act_run_task where projectReserveId = #{proId}
+    </delete>
     <select id="findProjectId" resultType="java.lang.String">
         select projectReserveId from cg_personnel_activiti where id = #{id};
     </select>
@@ -136,6 +243,7 @@
         cpa.projectProposal,
         cpa.drawings,
         cpa.drawingSpecification,
+        cpa.demolition,
         cpa.submittedApproval,
         cpa.constructionCost,
         cpa.amountFunds,
@@ -164,7 +272,12 @@
         fe.materialCheck,
         fe.liveWorkFeeCheck,
         fe.demolitionEngineeringProblems,
-        fe.otherProblem
+        fe.otherProblem,
+        fe.drawingAndSiteProblem,
+        fe.communicationProblem,
+        fe.civilPrefabricateProblem,
+        fe.liveWorkNumProblem,
+        fe.projectManagerOtherProblem
         from cg_reserve_summary_statistics a
         left join cg_personnel_activiti cpa on a.projectReserveId = cpa.projectReserveId
         left join cg_feedback_on_budget fe on a.projectReserveId = fe.projectReserveId
@@ -187,8 +300,10 @@
         a.budgetStatement,
         a.projectProposal,
         a.drawings,
-        a.drawingSpecification
-        from cg_personnel_activiti a
+        a.drawingSpecification,
+        a.demolition,
+        a.approvalForm
+        from cg_document_info 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>
@@ -248,4 +363,31 @@
     <select id="getLoginNameByName" resultType="java.lang.String">
         SELECT login_name FROM `sys_user` where name = #{name}
     </select>
+    <select id="getAllNum" resultType="java.lang.Double">
+        SELECT sum(totalCount) FROM `cg_material_data` WHERE materialCode = #{materialCode}
+    </select>
+    <select id="getCountByName" resultType="java.lang.Integer">
+        select count(*) from cg_material_data where projectName = #{projectName}
+    </select>
+    <select id="getInfo"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ActRunTaskTest">
+        SELECT REV_ as rev,EXECUTION_ID_ as executionId,PROC_INST_ID_ as procInsId,
+        PROC_DEF_ID_ as procDefId,NAME_ as name,PARENT_TASK_ID_ as parentTaskId,
+        DESCRIPTION_ as description,TASK_DEF_KEY_ as taskDefKey,OWNER_ as owner,ASSIGNEE_ as assignee,
+        DELEGATION_ as delegation,PRIORITY_ as priority,
+        CREATE_TIME_ as createTime,DUE_DATE_ as dueDate,CATEGORY_ as category,
+        SUSPENSION_STATE_ as suspension,TENANT_ID_ as tenantId,FORM_KEY_ as formKey
+        FROM `act_ru_task` ORDER BY CREATE_TIME_ DESC LIMIT 1
+    </select>
+    <select id="getByProId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ActRunTaskTest">
+        select rev,executionId,procInsId,procDefId,name,
+            parentTaskId,description,taskDefKey,owner,
+            assignee,delegation,priority,createTime,
+            dueDate,category,suspension,tenantId,
+            formKey from cg_act_run_task where projectReserveId = #{proId}
+    </select>
+    <select id="getMessage" resultType="java.lang.String">
+        SELECT MESSAGE_ FROM `act_hi_comment` ORDER BY TIME_ DESC LIMIT 1
+    </select>
 </mapper>

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

@@ -28,21 +28,38 @@
 		b.costEstimate,
 		b.basicRemarks,
 		a.includeReserve,
-		a.majorProblemClassification,
-		a.problemDescription,
-		a.changePlan,
+		a.reasonForCancel,
+		a.comprehensiveProject,
+		a.powerFailureDifficulty,
+		a.powerFailureDescribe,
+		a.otherProblemDifficulty,
+		a.otherProblemDescribe,
+		a.runPlanRequire,
 		a.programChangeDescription,
-		a.cancelConfirmationDepartment,
-		a.truthRemark,
+		a.discloseRemarks,
 		a.demandUnitPriority,
-		a.implementPlan,
+		a.preliminaryArrangement,
 		a.initialImplementBatch,
-		a.preliminaryConstructionUnit,
-		a.preliminaryConstructionUnitProjectManager,
-		a.handConstructionSketches,
+		a.initialImplementUnit,
+		a.projectManagementCenter,
+		a.completeProgressUnit,
+		a.projectReservePlan,
+		a.demandUnitProgress,
+		a.departmentPlan,
+		a.drawMapPath,
+		a.planRemarks,
+		a.arrangementProject,
+		a.implementationBatch,
+		a.constructionUnit,
+		a.drawOfficeDrawn,
+		a.projectInitiateRemarks,
         b.ownerProjectManager as 'projectManager',
         c.administrativeDifficulty as 'administrativeDifficulty',
-        c.officeProgress as 'officeProgress'
+        c.officeProgress as 'officeProgress',
+        cg.pretrialEstimateAmount,
+        cg.pretrialEstimateAmountExcludeTax,
+        cg.afterTrialEstimateAmount,
+        cg.afterTrialEstimateAmountExcludeTax
 
     </sql>
 
@@ -56,18 +73,31 @@
         del_flag,
         projectReserveId,
 		includeReserve,
-		majorProblemClassification,
-		problemDescription,
-		changePlan,
+		reasonForCancel,
+		comprehensiveProject,
+		powerFailureDifficulty,
+		powerFailureDescribe,
+		otherProblemDifficulty,
+		otherProblemDescribe,
+		runPlanRequire,
 		programChangeDescription,
-		cancelConfirmationDepartment,
-		truthRemark,
+		discloseRemarks,
 		demandUnitPriority,
-		implementPlan,
+		preliminaryArrangement,
 		initialImplementBatch,
-		preliminaryConstructionUnit,
-		preliminaryConstructionUnitProjectManager,
-		handConstructionSketches
+		initialImplementUnit,
+		projectManagementCenter,
+		completeProgressUnit,
+		projectReservePlan,
+		demandUnitProgress,
+		departmentPlan,
+		drawMapPath,
+		planRemarks,
+		arrangementProject,
+		implementationBatch,
+		constructionUnit,
+		drawOfficeDrawn,
+		projectInitiateRemarks
         )
         values
             (
@@ -79,18 +109,31 @@
             #{delFlag},
             #{projectReserveId},
             #{includeReserve},
-            #{majorProblemClassification},
-            #{problemDescription},
-            #{changePlan},
+            #{reasonForCancel},
+            #{comprehensiveProject},
+            #{powerFailureDifficulty},
+            #{powerFailureDescribe},
+            #{otherProblemDifficulty},
+            #{otherProblemDescribe},
+            #{runPlanRequire},
             #{programChangeDescription},
-            #{cancelConfirmationDepartment},
-            #{truthRemark},
+            #{discloseRemarks},
             #{demandUnitPriority},
-            #{implementPlan},
+            #{preliminaryArrangement},
             #{initialImplementBatch},
-            #{preliminaryConstructionUnit},
-            #{preliminaryConstructionUnitProjectManager},
-            #{handConstructionSketches}
+            #{initialImplementUnit},
+            #{projectManagementCenter},
+            #{completeProgressUnit},
+            #{projectReservePlan},
+            #{demandUnitProgress},
+            #{departmentPlan},
+            #{drawMapPath},
+            #{planRemarks},
+            #{arrangementProject},
+            #{implementationBatch},
+            #{constructionUnit},
+            #{drawOfficeDrawn},
+            #{projectInitiateRemarks}
             )
     </insert>
 
@@ -104,18 +147,31 @@
         del_flag,
         projectReserveId,
         includeReserve,
-        majorProblemClassification,
-        problemDescription,
-        changePlan,
+        reasonForCancel,
+        comprehensiveProject,
+        powerFailureDifficulty,
+        powerFailureDescribe,
+        otherProblemDifficulty,
+        otherProblemDescribe,
+        runPlanRequire,
         programChangeDescription,
-        cancelConfirmationDepartment,
-        truthRemark,
+        discloseRemarks,
         demandUnitPriority,
-        implementPlan,
+        preliminaryArrangement,
         initialImplementBatch,
-        preliminaryConstructionUnit,
-        preliminaryConstructionUnitProjectManager,
-        handConstructionSketches
+        initialImplementUnit,
+        projectManagementCenter,
+        completeProgressUnit,
+        projectReservePlan,
+        demandUnitProgress,
+        departmentPlan,
+        drawMapPath,
+        planRemarks,
+        arrangementProject,
+        implementationBatch,
+        constructionUnit,
+        drawOfficeDrawn,
+        projectInitiateRemarks
         )
         values
         <foreach collection="list" item="item" index="index" separator="," >
@@ -128,18 +184,31 @@
             #{item.delFlag},
             #{item.projectReserveId},
             #{item.includeReserve},
-            #{item.majorProblemClassification},
-            #{item.problemDescription},
-            #{item.changePlan},
+            #{item.reasonForCancel},
+            #{item.comprehensiveProject},
+            #{item.powerFailureDifficulty},
+            #{item.powerFailureDescribe},
+            #{item.otherProblemDifficulty},
+            #{item.otherProblemDescribe},
+            #{item.runPlanRequire},
             #{item.programChangeDescription},
-            #{item.cancelConfirmationDepartment},
-            #{item.truthRemark},
+            #{item.discloseRemarks},
             #{item.demandUnitPriority},
-            #{item.implementPlan},
+            #{item.preliminaryArrangement},
             #{item.initialImplementBatch},
-            #{item.preliminaryConstructionUnit},
-            #{item.preliminaryConstructionUnitProjectManager},
-            #{item.handConstructionSketches}
+            #{item.initialImplementUnit},
+            #{item.projectManagementCenter},
+            #{item.completeProgressUnit},
+            #{item.projectReservePlan},
+            #{item.demandUnitProgress},
+            #{item.departmentPlan},
+            #{item.drawMapPath},
+            #{item.planRemarks},
+            #{item.arrangementProject},
+            #{item.implementationBatch},
+            #{item.constructionUnit},
+            #{item.drawOfficeDrawn},
+            #{item.projectInitiateRemarks}
             )
         </foreach>
     </insert>
@@ -151,22 +220,46 @@
         update_by = #{updateBy.id},
         update_date = #{updateDate},
         includeReserve = #{includeReserve},
-        majorProblemClassification = #{majorProblemClassification},
-        problemDescription = #{problemDescription},
-        changePlan = #{changePlan},
+        reasonForCancel = #{reasonForCancel},
+        comprehensiveProject = #{comprehensiveProject},
+        powerFailureDifficulty = #{powerFailureDifficulty},
+        powerFailureDescribe = #{powerFailureDescribe},
+        otherProblemDifficulty = #{otherProblemDifficulty},
+        otherProblemDescribe = #{otherProblemDescribe},
+        runPlanRequire = #{runPlanRequire},
         programChangeDescription = #{programChangeDescription},
-        cancelConfirmationDepartment = #{cancelConfirmationDepartment},
-        truthRemark = #{truthRemark},
+        discloseRemarks = #{discloseRemarks},
         demandUnitPriority = #{demandUnitPriority},
-        implementPlan = #{implementPlan},
+        preliminaryArrangement = #{preliminaryArrangement},
         initialImplementBatch = #{initialImplementBatch},
-        preliminaryConstructionUnit = #{preliminaryConstructionUnit},
-        preliminaryConstructionUnitProjectManager = #{preliminaryConstructionUnitProjectManager},
-        handConstructionSketches = #{handConstructionSketches}
+        initialImplementUnit = #{initialImplementUnit},
+        projectManagementCenter = #{projectManagementCenter},
+        completeProgressUnit = #{completeProgressUnit},
+        projectReservePlan = #{projectReservePlan},
+        demandUnitProgress = #{demandUnitProgress},
+        departmentPlan = #{departmentPlan},
+        drawMapPath = #{drawMapPath},
+        planRemarks = #{planRemarks},
+        arrangementProject = #{arrangementProject},
+        implementationBatch = #{implementationBatch},
+        constructionUnit = #{constructionUnit},
+        drawOfficeDrawn = #{drawOfficeDrawn},
+        projectInitiateRemarks = #{projectInitiateRemarks}
 
         where id = #{id}
 	</update>
 
+    <update id="updateReserveSummary">
+        update
+        cg_reserve_summary_statistics
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        includeReserve = #{includeReserve},
+        reasonForCancel = #{reasonForCancel}
+        where proId = #{proId}
+    </update>
+
     <select id="queryByProjectReserveId"
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
         select
@@ -177,6 +270,8 @@
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_policy_handing_information c
         on a.projectReserveId = c.projectReserveId
+        left join cg_budget_stats cg
+        on cg.projectReserveId = a.projectReserveId
         where a.projectReserveId = #{projectReserveId}
     </select>
 
@@ -189,6 +284,8 @@
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_policy_handing_information c
         on a.projectReserveId = c.projectReserveId
+        left join cg_budget_stats cg
+        on cg.projectReserveId = a.projectReserveId
         <where>
             a.del_flag = 0
             <if test="projectReserveId!=null and projectReserveId!=''">
@@ -219,6 +316,8 @@
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_policy_handing_information c
         on a.projectReserveId = c.projectReserveId
+        left join cg_budget_stats cg
+        on cg.projectReserveId = a.projectReserveId
         <where>
             a.del_flag = 0
             <if test="projectReserveId!=null and projectReserveId!=''">
@@ -242,6 +341,8 @@
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_policy_handing_information c
         on a.projectReserveId = c.projectReserveId
+        left join cg_budget_stats cg
+        on cg.projectReserveId = a.projectReserveId
         where a.id = #{id}
     </select>
     <select id="getByProjectReserveId" resultType="java.lang.String">
@@ -255,4 +356,14 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        SELECT projectReserveId FROM cg_reserve_summary_statistics
+    </select>
+    <select id="getAllProId2" resultType="java.lang.String">
+        SELECT projectReserveId FROM cg_reserve_process
+    </select>
+    <select id="getAllCode"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
+        select projectReserveId,includeReserve from cg_reserve_summary_statistics
+    </select>
 </mapper>

+ 105 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/CompanyReviewService.java

@@ -0,0 +1,105 @@
+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.CompanyReview;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.CompanyReviewMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 省公司评审
+ * @author: 王强
+ * @create: 2022-10-24 16:00
+ **/
+@Service
+@Transactional(readOnly = true)
+public class CompanyReviewService extends CrudService<CompanyReviewMapper, CompanyReview> {
+
+    @Autowired
+    private CompanyReviewMapper dao;
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param companyReview
+     * @return
+     */
+    public CompanyReview queryByProjectReserveId(CompanyReview companyReview){
+        return dao.queryByProjectReserveId(companyReview);
+    }
+
+    /**
+     * 根据 项目储备编号删除对应的流程信息
+     * @param proId
+     */
+    public void deleteActivityByProId(String proId){
+        dao.deleteActivityByProId(proId);
+    }
+
+    public Page<CompanyReview> findPage(Page<CompanyReview> page, CompanyReview companyReview) {
+        Page<CompanyReview> pageList = super.findPage(page, companyReview);
+        return pageList;
+    }
+
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    public List<String> getAllProId2(){
+        return dao.getAllProId2();
+    }
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param companyReviews
+     * @return
+     */
+    public Map<String,List<CompanyReview>> getExistProjectList(List<CompanyReview> companyReviews){
+        Map<String,List<CompanyReview>> map = new HashMap();
+        List<CompanyReview> existReserveManagementList = new ArrayList<>();
+        Iterator<CompanyReview> iterator = companyReviews.iterator();
+        while (iterator.hasNext()) {
+            CompanyReview rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            CompanyReview reserveManag = dao.queryByProjectReserveId(rm);
+
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+        }
+        map.put("without",companyReviews);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param companyReviewList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<CompanyReview> companyReviewList){
+        dao.insertList(companyReviewList);
+    }
+
+    /**
+     * 修改方法
+     * @param companyReview
+     */
+    @Transactional(readOnly = false)
+    public void update(CompanyReview companyReview) {
+
+        super.save(companyReview);
+    }
+
+    public List<CompanyReview> exportFindList(CompanyReview companyReview) {
+        List<CompanyReview> pageList = dao.exportFindList(companyReview);
+        return pageList;
+    }
+}

+ 48 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/DocumentInfoService.java

@@ -0,0 +1,48 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.DocumentInfo;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.DocumentInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 流程文件信息表 service
+ * @author: 王强
+ * @create: 2022-10-26 14:37
+ **/
+@Service
+@Transactional(readOnly = true)
+public class DocumentInfoService extends CrudService<DocumentInfoMapper, DocumentInfo> {
+
+    @Autowired
+    private DocumentInfoMapper dao;
+
+    /**
+     * 根据项目储备id 查询数据
+     * @param proId
+     * @return
+     */
+    public DocumentInfo getInfoByProId(String proId){
+        return dao.getInfoByProId(proId);
+    }
+
+    /**
+     * 根据  项目储备id 删除数据
+     * @param proId
+     */
+//    @Transactional(readOnly = false)
+//    public void deleteInfoByProId(String proId){
+//        dao.deleteInfoByProId(proId);
+//    }
+
+    @Transactional(readOnly = false)
+    public void save(DocumentInfo info){
+        if (info.getIsNewRecord()){
+            info.preInsert();
+            dao.deleteInfoByProId(info.getProjectReserveId());
+            dao.insert(info);
+        }
+    }
+}

+ 17 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/FeedBackBudgetService.java

@@ -20,6 +20,23 @@ public class FeedBackBudgetService extends CrudService<FeedBackBudgetMapper, Fee
     private FeedBackBudgetMapper dao;
 
     /**
+     * 根据项目储备id获取  问题反馈信息
+     * @param proId
+     * @return
+     */
+    public FeedBackBudget getInfoByProId(String proId){
+        return dao.getInfoByProId(proId);
+    }
+
+    /**
+     * 根据项目储备编号  修改预算问题反馈记录
+     * @param backBudget
+     */
+    public void updateInFoByProId(FeedBackBudget backBudget){
+        dao.updateInFoByProId(backBudget);
+    }
+
+    /**
      * 新增方法
      * @param entity
      */

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

@@ -24,6 +24,31 @@ public class ReserveElectricityWorkService extends CrudService<ReserveElectricit
     private ReserveElectricityWorkMapper dao;
 
     /**
+     * 修改用户分界开关数量
+     * @param allNum
+     */
+    @Transactional(readOnly = false)
+    public void updateSwitchNum(String allNum){
+        dao.updateSwitchNum(allNum);
+    }
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId2(){
+        return dao.getAllProId2();
+    }
+
+    /**
      * 查询已有的参数数据 并分类返回已存在数据和未存在数据
      * @param reserveManagement
      * @return

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

@@ -24,6 +24,31 @@ public class ReservePreconstructService extends CrudService<ReservePreconstructM
     private ReservePreconstructMapper dao;
 
     /**
+     * 修改设计预制化信息
+     */
+    @Transactional(readOnly = false)
+    public void updateMetion(String designCivilFoundation,String castInPlaceList,String designList){
+        dao.updateMetion(designCivilFoundation, castInPlaceList, designList);
+    }
+
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId2(){
+        return dao.getAllProId2();
+    }
+
+    /**
      * 查询已有的参数数据 并分类返回已存在数据和未存在数据
      * @param reserveManagement
      * @return

+ 31 - 7
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveProcessProjectService.java

@@ -25,6 +25,29 @@ public class ReserveProcessProjectService extends CrudService<ReserveProcessProj
     private ReserveProcessProjectMapper dao;
 
     /**
+     * 根据储备流程id修改流程状态
+     * @param proId
+     * @param status
+     */
+    @Transactional(readOnly = false)
+    public void updateProcessStatus(String proId, int status){
+        dao.updateProcessStatus(proId,status);
+    }
+
+    /**
+     * 根据projectReserveId 查出改项目的流程状态
+     * @param proId
+     * @return
+     */
+    public int getProcessStatus(String proId){
+        return dao.getProcessStatus(proId);
+    }
+
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
      * 根据流程的procInsId 查出储备项目名称,和项目定义号
      * @param procInsId
      * @return
@@ -100,13 +123,13 @@ public class ReserveProcessProjectService extends CrudService<ReserveProcessProj
         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());
-        }
+//        for (ReserveProcessProject a :
+//                reserveManagementList) {
+//            a.preInsert();
+//            schedule.preInsert();
+//            schedule.setProjectBasic(format);
+//            schedule.setProjectReserveId(a.getProjectReserveId());
+//        }
         dao.insertList(reserveManagementList);
     }
 
@@ -120,6 +143,7 @@ public class ReserveProcessProjectService extends CrudService<ReserveProcessProj
         //根据项目储备编号 查询数据
         if (entity.getIsNewRecord()){
             entity.preInsert();
+            entity.setProcessStatus(0);
             mapper.insert(entity);
         }else{
             entity.preUpdate();

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

@@ -24,6 +24,22 @@ public class ReserveSafeDisclosureService extends CrudService<ReserveSafeDisclos
     private ReserveSafeDisclosureMapper dao;
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId2(){
+        return dao.getAllProId2();
+    }
+
+    /**
      * 查询已有的参数数据 并分类返回已存在数据和未存在数据
      * @param reserveManagement
      * @return

+ 233 - 21
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveSummaryProcessService.java

@@ -8,6 +8,8 @@ import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
 import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.*;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.FeedBackBudgetMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveProcessProjectMapper;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveSummaryProcessMapper;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
@@ -36,10 +38,15 @@ import java.util.Map;
 @Transactional(readOnly = true)
 public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProcessMapper, ReserveSummaryProcess> {
 
+//    private static ActRunTaskTest taskTest;
+
     @Autowired
     private ReserveSummaryProcessMapper mapper;
 
     @Autowired
+    private ReserveProcessProjectMapper projectMapper;
+
+    @Autowired
     private TaskService taskService;
 
     @Autowired
@@ -51,7 +58,21 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
     @Autowired
     private FeedBackBudgetService budgetService;
 
+    @Autowired
+    private FeedBackBudgetMapper feedMapper;
+
+    /**
+     * 根据 项目名称 查看甲供材信息
+     * @param projectName
+     * @return
+     */
+    public int getCountByName(String projectName){
+        return mapper.getCountByName(projectName);
+    }
 
+    public Double getAllNum(String materialCode){
+        return mapper.getAllNum(materialCode);
+    }
 
     @Transactional(readOnly = false)
     public void insert(ReserveSummaryProcess entity) {
@@ -148,6 +169,13 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
     @Transactional(readOnly = false)
     public void actDesignUnit(Act act, ReserveSummaryProcess reserveProcess) {
 
+        //将设计单位节点相关信息保存到类中   持久化操作
+//        taskTest = mapper.getInfo();
+        ActRunTaskTest taskTest = mapper.getInfo();
+        taskTest.setProjectReserveId(reserveProcess.getProjectReserveId());
+        taskTest.preInsert();
+        mapper.deleteIntoActRunTaskByProId(reserveProcess.getProjectReserveId());
+        mapper.insertIntoActRunTask(taskTest);
         // 对不同环节的业务逻辑进行操作
         String taskDefKey = act.getTaskDefKey();
         //提交流程任务
@@ -161,11 +189,12 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
         //根据用户名去数据库中查找登录名
         String cbzz = mapper.getLoginNameByName(user.getOwnerReserveFullTime());
         String xmjl = mapper.getLoginNameByName(user.getOwnerProjectManager());
-        list.add(cbzz);
-        list.add(xmjl);
+//        list.add(cbzz);
+//        list.add(xmjl);
         String title = user.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起联合审图";
         act.setTitle(title);
-        vars.put("person",list);
+        vars.put("manager",xmjl);
+        vars.put("managerTest",cbzz);
 
         //指定代理人
 //        vars.put("manager",UserUtils.getByUserName(user.getOwnerProjectManager()).getLoginName());
@@ -233,7 +262,7 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
      * 项目经理判定是否通过
      */
     @Transactional(readOnly = false)
-    public void actDrawingReview(Act act) {
+    public void actDrawingReview(Act act,ReserveSummaryProcess reserveProcess) throws Exception {
         Map<String, Object> vars = Maps.newHashMap();
         String flag = act.getFlag();
         ReserveProcessProject user = MyActiviUtils.findCgUser(act.getProcInsId());
@@ -241,9 +270,139 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
         //根据用户名去数据库中查找登录名
         String loginNameByName = mapper.getLoginNameByName(user.getDesigner());
 
+        if ("yes".equals(flag)) {
+            //通过流程到-技经人员审预算
+            loginNameByName = mapper.getLoginNameByName(user.getOwnerReserveFullTime());
+            vars.put("manager", loginNameByName);
+            vars.put("pass",true);
+            vars.put("no",false);
+            vars.put("rural",false);
+            vars.put("tg",false);
+            act.setTitle("设计单位上传预算书");
+        } else if ("disagree".equals(flag)){
+            //将项目经理审图的问题反馈保存到数据库
+            FeedBackBudget budget = new FeedBackBudget(reserveProcess.getProjectReserveId(),
+                    reserveProcess.getPreferedCase(),reserveProcess.getTransferSituation(),
+                    reserveProcess.getBudgetTemplateCheck(),reserveProcess.getQuotaApplicationCheck(),
+                    reserveProcess.getWorkLoadCheck(),reserveProcess.getCheckTheFee(),
+                    reserveProcess.getSupplyCheck(),reserveProcess.getMaterialCheck(),
+                    reserveProcess.getLiveWorkFeeCheck(),reserveProcess.getDemolitionEngineeringProblems(),
+                    reserveProcess.getOtherProblem(),reserveProcess.getDrawingAndSiteProblem(),
+                    reserveProcess.getCommunicationProblem(),reserveProcess.getCivilPrefabricateProblem(),
+                    reserveProcess.getLiveWorkNumProblem(),reserveProcess.getProjectManagerOtherProblem());
+
+//            budgetService.deleteByProjectReserveId(budget.getProjectReserveId());
+            FeedBackBudget infoByProId = budgetService.getInfoByProId(reserveProcess.getProjectReserveId());
+            if (infoByProId == null){
+                budgetService.save(budget);
+            }else {
+                budgetService.updateInFoByProId(budget);
+            }
+
+
+            //不通过-回到上一个流程
+            vars.put("manager", loginNameByName);
+            vars.put("pass",false);
+            vars.put("tg",true);
+            vars.put("no",false);
+            vars.put("rural",false);
+            act.setTitle("设计单位上传施工图纸");
+            ActRunTaskTest taskTest = mapper.getByProId(reserveProcess.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"联合审图");
+            //删除联合审图的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-A0FF4858-9940-4B37-B14E-2DEA24AB37E5");
+
+        } else if ("cancel".equals(flag)){
+            //取消-项目取消,修改第六张表的状态
+            //先把表的状态改为取消
+            ReserveSummary reserveSummary = new ReserveSummary();
+            reserveSummary.setProjectReserveId(user.getProjectReserveId());
+            ReserveSummary summary = statisticService.queryByProjectReserveId(reserveSummary);
+            summary.setIncludeReserve("取消");
+
+            //修改 基本信息表的流程状态
+            projectMapper.updateProcessStatus(user.getProjectReserveId(),3);
+
+            //流程结束  清空该项目流程的问题反馈
+            feedMapper.deleteByProjectReserveId(user.getProjectReserveId());
+            vars.put("tg",false);
+            vars.put("pass",false);
+            vars.put("no",true);
+            vars.put("rural",false);
+
+            act.preUpdate();
+            // 提交流程任务
+            complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+            //修改 汇总表的是否纳入储备为取消  并把取消原因获取到放到对应字段
+            String message = mapper.getMessage();
+            summary.setReasonForCancel(message);
+            statisticService.update(summary);
+
+            ActRunTaskTest taskTest = mapper.getByProId(reserveProcess.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"联合审图");
+            //删除联合审图的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-A0FF4858-9940-4B37-B14E-2DEA24AB37E5");
+
+            return;
+        } else if ("pending".equals(flag)){
+            //待定 修改第六张表的状态
+            ReserveSummary reserveSummary = new ReserveSummary();
+            reserveSummary.setProjectReserveId(user.getProjectReserveId());
+            ReserveSummary summary = statisticService.queryByProjectReserveId(reserveSummary);
+            summary.setIncludeReserve("待定");
+
+            //修改 基本信息表的流程状态
+            projectMapper.updateProcessStatus(user.getProjectReserveId(),4);
+            //修改 汇总表的是否纳入储备为取消  并把取消原因获取到放到对应字段
+
+            //流程结束  清空该项目流程的问题反馈
+            feedMapper.deleteByProjectReserveId(user.getProjectReserveId());
+            vars.put("tg",false);
+            vars.put("pass",false);
+            vars.put("no",false);
+            vars.put("rural",true);
+
+            ActRunTaskTest taskTest = mapper.getByProId(reserveProcess.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"联合审图");
+            //删除联合审图的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-A0FF4858-9940-4B37-B14E-2DEA24AB37E5");
+
+            act.preUpdate();
+            // 提交流程任务
+            complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+            //修改 汇总表的是否纳入储备为取消  并把取消原因获取到放到对应字段
+            String message = mapper.getMessage();
+            summary.setReasonForCancel(message);
+            statisticService.update(summary);
+            return;
+        }
+
+        act.preUpdate();
+        // 对不同环节的业务逻辑进行操作
+        String taskDefKey = act.getTaskDefKey();
+
+        // 提交流程任务
+        complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+
+    }
+
+    /**
+     * 联合审图判定是否通过
+     */
+    @Transactional(readOnly = false)
+    public void actDrawingReviewTest(Act act,ReserveSummaryProcess process) {
+        Map<String, Object> vars = Maps.newHashMap();
+        String flag = act.getFlag();
+        ReserveProcessProject user = MyActiviUtils.findCgUser(act.getProcInsId());
+
+        //根据用户名去数据库中查找登录名
+        String loginNameByName = mapper.getLoginNameByName(user.getOwnerReserveFullTime());
 
         if ("yes".equals(flag)) {
-            //通过流程到-设计人员上传预算书、项目建议书/可研报告、设计说明书
+            //通过流程到-技经人员审预算
             vars.put("manager", loginNameByName);
             vars.put("pass",true);
             vars.put("no",false);
@@ -252,12 +411,20 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
             act.setTitle("设计单位上传预算书");
         } else if ("disagree".equals(flag)){
             //不通过-回到上一个流程
+            loginNameByName = mapper.getLoginNameByName(user.getDesigner());
             vars.put("manager", loginNameByName);
             vars.put("pass",false);
             vars.put("tg",true);
             vars.put("no",false);
             vars.put("rural",false);
             act.setTitle("设计单位上传施工图纸");
+
+            ActRunTaskTest taskTest = mapper.getByProId(process.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"项目经理审图");
+            //删除新增的两个数据act_ru_execution表的相关字段  删除项目经理的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-C92A1CEE-3775-4A11-AAD0-64FA836AC97C");
+
         } else if ("cancel".equals(flag)){
             //取消-项目取消,修改第六张表的状态
             //先把表的状态改为取消
@@ -266,11 +433,30 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
             ReserveSummary summary = statisticService.queryByProjectReserveId(reserveSummary);
             summary.setIncludeReserve("取消");
             statisticService.update(summary);
+            //修改 基本信息表的流程状态
+            projectMapper.updateProcessStatus(user.getProjectReserveId(),3);
             vars.put("tg",false);
             vars.put("pass",false);
             vars.put("no",true);
             vars.put("rural",false);
 
+            //流程结束  清空该项目流程的问题反馈
+            feedMapper.deleteByProjectReserveId(user.getProjectReserveId());
+            act.preUpdate();
+            // 提交流程任务
+            complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+            //修改 汇总表的是否纳入储备为取消  并把取消原因获取到放到对应字段
+            String message = mapper.getMessage();
+            summary.setReasonForCancel(message);
+            statisticService.update(summary);
+
+            ActRunTaskTest taskTest = mapper.getByProId(process.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"项目经理审图");
+            //删除新增的两个数据act_ru_execution表的相关字段  删除项目经理的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-C92A1CEE-3775-4A11-AAD0-64FA836AC97C");
+            return;
+
         } else if ("pending".equals(flag)){
             //待定 修改第六张表的状态
             ReserveSummary reserveSummary = new ReserveSummary();
@@ -278,11 +464,29 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
             ReserveSummary summary = statisticService.queryByProjectReserveId(reserveSummary);
             summary.setIncludeReserve("待定");
             statisticService.update(summary);
+            //修改 基本信息表的流程状态
+            projectMapper.updateProcessStatus(user.getProjectReserveId(),4);
             vars.put("tg",false);
             vars.put("pass",false);
             vars.put("no",false);
             vars.put("rural",true);
 
+            //流程结束  清空该项目流程的问题反馈
+            feedMapper.deleteByProjectReserveId(user.getProjectReserveId());
+            act.preUpdate();
+            // 提交流程任务
+            complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+            //修改 汇总表的是否纳入储备为取消  并把取消原因获取到放到对应字段
+            String message = mapper.getMessage();
+            summary.setReasonForCancel(message);
+            statisticService.update(summary);
+
+            ActRunTaskTest taskTest = mapper.getByProId(process.getProjectReserveId());
+            //删除掉act_ru_task表的联合审图 及 项目经理审图数据
+            mapper.deleteByProcId(taskTest.getProcDefId(),"项目经理审图");
+            //删除新增的两个数据act_ru_execution表的相关字段  删除项目经理的并行任务
+            mapper.deleteExecution(taskTest.getProcDefId(),"sid-C92A1CEE-3775-4A11-AAD0-64FA836AC97C");
+            return;
         }
 
         act.preUpdate();
@@ -322,6 +526,10 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
             budgetBookService.deleteByProjectReserveId(budgetBook.getProjectReserveId());
             //插入
             budgetBookService.save(budgetBook);
+
+            //修改 基本信息表的流程状态
+            projectMapper.updateProcessStatus(user.getProjectReserveId(),2);
+
         } else if ("no".equals(flag)){
             //不通过-回到上一个流程
             //根据用户名去数据库中查找登录名
@@ -330,22 +538,24 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
             vars.put("pass",false);
 
             //将预算问题反馈记录保存到数据库
-            FeedBackBudget budget = new FeedBackBudget();
-            budget.setProjectReserveId(reserveProcess.getProjectReserveId());
-            budget.setPreferedCase(reserveProcess.getPreferedCase());
-            budget.setTransferSituation(reserveProcess.getTransferSituation());
-            budget.setBudgetTemplateCheck(reserveProcess.getBudgetTemplateCheck());
-            budget.setQuotaApplicationCheck(reserveProcess.getQuotaApplicationCheck());
-            budget.setWorkLoadCheck(reserveProcess.getWorkLoadCheck());
-            budget.setCheckTheFee(reserveProcess.getCheckTheFee());
-            budget.setSupplyCheck(reserveProcess.getSupplyCheck());
-            budget.setMaterialCheck(reserveProcess.getMaterialCheck());
-            budget.setLiveWorkFeeCheck(reserveProcess.getLiveWorkFeeCheck());
-            budget.setDemolitionEngineeringProblems(reserveProcess.getDemolitionEngineeringProblems());
-            budget.setOtherProblem(reserveProcess.getOtherProblem());
-
-            budgetService.deleteByProjectReserveId(budget.getProjectReserveId());
-            budgetService.save(budget);
+            FeedBackBudget budget = new FeedBackBudget(reserveProcess.getProjectReserveId(),
+                    reserveProcess.getPreferedCase(),reserveProcess.getTransferSituation(),
+                    reserveProcess.getBudgetTemplateCheck(),reserveProcess.getQuotaApplicationCheck(),
+                    reserveProcess.getWorkLoadCheck(),reserveProcess.getCheckTheFee(),
+                    reserveProcess.getSupplyCheck(),reserveProcess.getMaterialCheck(),
+                    reserveProcess.getLiveWorkFeeCheck(),reserveProcess.getDemolitionEngineeringProblems(),
+                    reserveProcess.getOtherProblem(),reserveProcess.getDrawingAndSiteProblem(),
+                    reserveProcess.getCommunicationProblem(),reserveProcess.getCivilPrefabricateProblem(),
+                    reserveProcess.getLiveWorkNumProblem(),reserveProcess.getProjectManagerOtherProblem());
+
+
+//            budgetService.deleteByProjectReserveId(budget.getProjectReserveId());
+            FeedBackBudget infoByProId = budgetService.getInfoByProId(reserveProcess.getProjectReserveId());
+            if (infoByProId == null){
+                budgetService.save(budget);
+            }else {
+                budgetService.updateInFoByProId(budget);
+            }
             act.setTitle("设计单位上传施工图纸");
         }
 
@@ -361,4 +571,6 @@ public class ReserveSummaryProcessService extends CrudService<ReserveSummaryProc
         String time = format.format(date);
 
     }
+
+
 }

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

@@ -24,6 +24,40 @@ public class SummaryStatisticService extends CrudService<SummaryStatisticMapper,
     private SummaryStatisticMapper dao;
 
     /**
+     * 根据 项目储备编号  修改是否纳入储备字段 和 取消原因说明字段
+     * @param proId
+     * @param includeReserve
+     * @param reasonForCancel
+     */
+    public void updateReserveSummary(String proId, String includeReserve, String reasonForCancel){
+        dao.updateReserveSummary(proId, includeReserve, reasonForCancel);
+    }
+
+    /**
+     * 查出所有的  项目编码 及 是否纳入储备字段
+     * @return
+     */
+    public List<ReserveSummary> getAllCode(){
+        return dao.getAllCode();
+    }
+
+    /**
+     * 获取所有的 项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
+     * 从基本数据表中查出所有的 项目储备编号
+     * @return
+     */
+    public List<String> getAllProId2(){
+        return dao.getAllProId2();
+    }
+
+    /**
      * 根据项目储备id查询项目信息
      * @param reserveManagement
      * @return

+ 315 - 89
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectExportUtil.java

@@ -41,15 +41,15 @@ public class ReserveProcessProjectExportUtil {
     }
 
     /**
-     * 导出储备项目基本信息
+     * 导出储备项目带电作业基本信息
      * @param response
      * @param workbook
      * @param list
      */
-    public void exportBasic(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveProcessProject> list){
+    public void exportElectricityWork(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveElectricityWork> list){
         try {
             int index = 1;//第一列序号
-            int rowNum = 3;//数据起始列
+            int rowNum = 2;//数据起始列
             Sheet sheet = workbook.getSheetAt(0);
             for(int i=0;i<list.size();i++){
                 Row row = sheet.createRow(rowNum+i);
@@ -72,18 +72,22 @@ public class ReserveProcessProjectExportUtil {
                 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,26); //概算编制人员
-                Cell cell28 = crateCell(workbook,row,27); //不停电作业查勘人
+                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,28); //停电作业方案
+                Cell cell30 = crateCell(workbook,row,29); //方案编制人
+                Cell cell31 = crateCell(workbook,row,30); //现场查勘人
 
-                ReserveProcessProject reserveManagement = list.get(i);
+
+                ReserveElectricityWork reserveManagement = list.get(i);
 
                 cell0.setCellValue(String.valueOf(index++));
                 cell1.setCellValue(reserveManagement.getProjectYear());
@@ -108,20 +112,25 @@ public class ReserveProcessProjectExportUtil {
                     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.getMaterialSoleDuty());
-                cell24.setCellValue(reserveManagement.getTechnicalStaff());
-                cell25.setCellValue(reserveManagement.getOperationAndMaintenancePersonnel());
-                cell26.setCellValue(reserveManagement.getDesigner());
-                cell27.setCellValue(reserveManagement.getBudgetPreparer());
-                cell28.setCellValue(reserveManagement.getUninterruptedWorkSurveyPersonnel());
+                cell19.setCellValue(reserveManagement.getReserveProgress());
+                cell20.setCellValue(reserveManagement.getImplementPlan());
+                cell21.setCellValue(reserveManagement.getImplementBatch());
+                cell22.setCellValue(reserveManagement.getProjectType());
+                cell23.setCellValue(reserveManagement.getHotLineWork());
+                cell24.setCellValue(reserveManagement.getBoundarySwitchNum());
+                cell25.setCellValue(reserveManagement.getHotLineWorkTypeNo());
+                cell26.setCellValue(reserveManagement.getNoStopWorkPlan());
+                cell27.setCellValue(reserveManagement.getPowerFailureNum());
+                cell28.setCellValue(reserveManagement.getReasonsForNotWorkInterruption());
+                cell29.setCellValue(reserveManagement.getPowerOutagePlan());
+                cell30.setCellValue(reserveManagement.getPlanner());
+                cell31.setCellValue(reserveManagement.getSiteSurveyor());
+
+
 
             }
 
-            String str = URLEncoder.encode("储备项目基本信息.xlsx", "UTF8");
+            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();
@@ -134,15 +143,15 @@ public class ReserveProcessProjectExportUtil {
     }
 
     /**
-     * 导出储备项目带电作业基本信息
+     * 导出储备项目基本信息
      * @param response
      * @param workbook
      * @param list
      */
-    public void exportElectricityWork(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveElectricityWork> list){
+    public void exportBasic(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveProcessProject> list){
         try {
             int index = 1;//第一列序号
-            int rowNum = 2;//数据起始列
+            int rowNum = 3;//数据起始列
             Sheet sheet = workbook.getSheetAt(0);
             for(int i=0;i<list.size();i++){
                 Row row = sheet.createRow(rowNum+i);
@@ -165,23 +174,18 @@ public class ReserveProcessProjectExportUtil {
                 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 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,26); //概算编制人员
+                Cell cell28 = crateCell(workbook,row,27); //不停电作业查勘人
 
-                ReserveElectricityWork reserveManagement = list.get(i);
+                ReserveProcessProject reserveManagement = list.get(i);
 
                 cell0.setCellValue(String.valueOf(index++));
                 cell1.setCellValue(reserveManagement.getProjectYear());
@@ -206,26 +210,117 @@ public class ReserveProcessProjectExportUtil {
                     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());
+                cell19.setCellValue(reserveManagement.getRequester());
+                cell20.setCellValue(reserveManagement.getOwnerReserveFullTime());
+                cell21.setCellValue(reserveManagement.getOwnerDistributionNerworkFullTime());
+                cell22.setCellValue(reserveManagement.getOwnerProjectManager());
+                cell23.setCellValue(reserveManagement.getMaterialSoleDuty());
+                cell24.setCellValue(reserveManagement.getTechnicalStaff());
+                cell25.setCellValue(reserveManagement.getOperationAndMaintenancePersonnel());
+                cell26.setCellValue(reserveManagement.getDesigner());
+                cell27.setCellValue(reserveManagement.getBudgetPreparer());
+                cell28.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 reserveManagement
+     */
+    public void exportSurveySheet(HttpServletResponse response, XSSFWorkbook workbook, ReserveElectricityWork reserveManagement){
+        try {
+            Sheet sheet = workbook.getSheetAt(0);
+
+            String excelName = "";
+            if (reserveManagement.getHotLineWork().equals("是")){
+                Row nameRow = sheet.createRow(2);
+                Row gcRow = sheet.createRow(4);
+                Row btdyyRow = sheet.createRow(6);
+                Row btdfaRow = sheet.createRow(10);
+                Row ckrRow = sheet.createRow(18);
+
+                Cell nameCell = crateCellNew(workbook,nameRow,0); //项目名称
+                Cell gcCell = crateCellNew(workbook,gcRow,0); //工程内容
+                Cell btdyyCell = crateCellNew(workbook,btdyyRow,0); //无法不停电作业原因
+                Cell btdfaCell = crateCellNew(workbook,btdfaRow,0); //不停电作业方案
+                Cell ckrCell = crateCellNew(workbook,ckrRow,0); //现场查勘人
+                Cell bzrCell = crateCellNew(workbook,ckrRow,2); //方案编制人
+
+                nameCell.setCellValue("项目名称");
+                gcCell.setCellValue("工程内容");
+                btdyyCell.setCellValue("无法不停电作业原因");
+                btdfaCell.setCellValue("不停电作业方案");
+                ckrCell.setCellValue("现场查勘人");
+                bzrCell.setCellValue("方案编制人");
+
+                Cell nameCell2 = crateCellNew(workbook,nameRow,1); //项目名称
+                Cell gcCell2 = crateCellNew(workbook,gcRow,1); //工程内容
+                Cell btdyyCell2 = crateCellNew(workbook,btdyyRow,1); //无法不停电作业原因
+                Cell btdfaCell2 = crateCellNew(workbook,btdfaRow,1); //不停电作业方案
+                Cell ckrCell2 = crateCellNew(workbook,ckrRow,1); //现场查勘人
+                Cell bzrCell2 = crateCellNew(workbook,ckrRow,3); //方案编制人
+
+                nameCell2.setCellValue(reserveManagement.getProjectName());
+                gcCell2.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                btdyyCell2.setCellValue(reserveManagement.getReasonsForNotWorkInterruption());
+                btdfaCell2.setCellValue(reserveManagement.getNoStopWorkPlan());
+                ckrCell2.setCellValue(reserveManagement.getSiteSurveyor());
+                bzrCell2.setCellValue(reserveManagement.getPlanner());
+                excelName = "镇江公司设计阶段停电作业查勘单.xlsx";
+            }else {
+                Row nameRow = sheet.createRow(2);
+                Row gcRow = sheet.createRow(4);
+                Row faRow = sheet.createRow(6);
+                Row hsRow = sheet.createRow(12);
+                Row ckrRow = sheet.createRow(16);
+
+                Cell nameCell = crateCellNew(workbook,nameRow,0); //项目名称
+                Cell gcCell = crateCellNew(workbook,gcRow,0); //工程内容
+                Cell faCell = crateCellNew(workbook,faRow,0); //不停电作业方案
+                Cell hsCell = crateCellNew(workbook,hsRow,0); //预估节约停电时户数
+                Cell ckrCell = crateCellNew(workbook,ckrRow,0); //现场查勘人
+                Cell bzrCell = crateCellNew(workbook,ckrRow,2); //方案编制人
+                nameCell.setCellValue("项目名称");
+                gcCell.setCellValue("工程内容");
+                faCell.setCellValue("不停电作业方案");
+                hsCell.setCellValue("预估节约停电时户数");
+                ckrCell.setCellValue("现场查勘人");
+                bzrCell.setCellValue("方案编制人");
+
+
+                Cell nameCell2 = crateCellNew(workbook,nameRow,1); //项目名称
+                Cell gcCell2 = crateCellNew(workbook,gcRow,1); //工程内容
+                Cell faCell2 = crateCellNew(workbook,faRow,1); //不停电作业方案
+                Cell hsCell2 = crateCellNew(workbook,hsRow,1); //预估节约停电时户数
+                Cell ckrCell2 = crateCellNew(workbook,ckrRow,1); //现场查勘人
+                Cell bzrCell2 = crateCellNew(workbook,ckrRow,3); //方案编制人
+
+                nameCell2.setCellValue(reserveManagement.getProjectName());
+                gcCell2.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                faCell2.setCellValue(reserveManagement.getNoStopWorkPlan());
+                hsCell2.setCellValue(reserveManagement.getPowerFailureNum());
+                ckrCell2.setCellValue(reserveManagement.getSiteSurveyor());
+                bzrCell2.setCellValue(reserveManagement.getPlanner());
+
+                excelName = "镇江公司设计阶段不停电作业查勘单.xlsx";
             }
 
-            String str = URLEncoder.encode("储备项目带电作业信息.xlsx", "UTF8");
+
+            String str = URLEncoder.encode(excelName, "UTF8");
             response.setHeader("Content-Disposition", "attachment;filename="+str);
             response.setContentType("application/vnd.ms-excel;charset=UTF-8");
             OutputStream outputStream = response.getOutputStream();
@@ -441,8 +536,8 @@ public class ReserveProcessProjectExportUtil {
                 cell23.setCellValue(reserveManagement.getConfessPrefab());
                 cell24.setCellValue(reserveManagement.getConfessPrefabDescription());
                 cell25.setCellValue(reserveManagement.getDesignCivilFoundation());
-                cell26.setCellValue(reserveManagement.getDesignPrefab());
-                cell27.setCellValue(reserveManagement.getDesignPrefabDescription());
+                cell26.setCellValue(reserveManagement.getCastInPlaceList());
+                cell27.setCellValue(reserveManagement.getDesignList());
 
             }
 
@@ -630,20 +725,34 @@ public class ReserveProcessProjectExportUtil {
                 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 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 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); //需求单位完成进度
+                Cell cell45 = crateCell(workbook,row,45); //政处计划(政处单位)
+                Cell cell46 = crateCell(workbook,row,46); //政处进度
+                Cell cell47 = crateCell(workbook,row,47); //是否出路径图
+                Cell cell48 = crateCell(workbook,row,48); //储备项目推进计划-备注
+                Cell cell49 = crateCell(workbook,row,49); //立项安排
+                Cell cell50 = crateCell(workbook,row,50); //实施批次
+                Cell cell51 = crateCell(workbook,row,51); //施工单位
+                Cell cell52 = crateCell(workbook,row,52); //是否出正式图
+                Cell cell53 = crateCell(workbook,row,53); //备注
 
                 ReserveSummary reserveManagement = list.get(i);
 
@@ -677,21 +786,35 @@ public class ReserveProcessProjectExportUtil {
                 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());
 
+                cell26.setCellValue(reserveManagement.getReasonForCancel());
+                cell27.setCellValue(reserveManagement.getComprehensiveProject());
+                cell28.setCellValue(reserveManagement.getOfficeDifficulty());
+                cell29.setCellValue(reserveManagement.getOfficeProgress());
+                cell30.setCellValue(reserveManagement.getPowerFailureDifficulty());
+                cell31.setCellValue(reserveManagement.getPowerFailureDescribe());
+                cell32.setCellValue(reserveManagement.getOtherProblemDifficulty());
+                cell33.setCellValue(reserveManagement.getOtherProblemDescribe());
+                cell34.setCellValue(reserveManagement.getRunPlanRequire());
+                cell35.setCellValue(reserveManagement.getProgramChangeDescription());
+                cell36.setCellValue(reserveManagement.getDiscloseRemarks());
+                cell37.setCellValue(reserveManagement.getDemandUnitPriority());
+                cell38.setCellValue(reserveManagement.getPreliminaryArrangement());
+                cell39.setCellValue(reserveManagement.getInitialImplementBatch());
+                cell40.setCellValue(reserveManagement.getInitialImplementUnit());
+                cell41.setCellValue(reserveManagement.getProjectManagementCenter());
+                cell42.setCellValue(reserveManagement.getCompleteProgressUnit());
+                cell43.setCellValue(reserveManagement.getProjectReservePlan());
+                cell44.setCellValue(reserveManagement.getDemandUnitProgress());
+                cell45.setCellValue(reserveManagement.getDepartmentPlan());
+                cell46.setCellValue(reserveManagement.getAdministrativeProgress());
+                cell47.setCellValue(reserveManagement.getDrawMapPath());
+                cell48.setCellValue(reserveManagement.getPlanRemarks());
+                cell49.setCellValue(reserveManagement.getArrangementProject());
+                cell50.setCellValue(reserveManagement.getImplementationBatch());
+                cell51.setCellValue(reserveManagement.getConstructionUnit());
+                cell52.setCellValue(reserveManagement.getDrawOfficeDrawn());
+                cell53.setCellValue(reserveManagement.getProjectInitiateRemarks());
             }
 
             String str = URLEncoder.encode("储备项目交底信息汇总统计.xlsx", "UTF8");
@@ -706,6 +829,90 @@ public class ReserveProcessProjectExportUtil {
         }
     }
 
+    /**
+     * 导出省公司评审信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportCompany(HttpServletResponse response, XSSFWorkbook workbook, List<CompanyReview> 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); //备注
+
+
+                CompanyReview companyReview = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(companyReview.getProjectYear());
+                cell2.setCellValue(companyReview.getProjectNature());
+                cell3.setCellValue(companyReview.getDemandUnit());
+                cell4.setCellValue(companyReview.getDistrict());
+                cell5.setCellValue(companyReview.getProjectGroup());
+                cell6.setCellValue(companyReview.getReserveBatches());
+                cell7.setCellValue(companyReview.getBlockSupply());
+                cell8.setCellValue(companyReview.getGridNumber());
+                cell9.setCellValue(companyReview.getCellNumber());
+                cell10.setCellValue(companyReview.getProjectReserveId());
+                cell11.setCellValue(companyReview.getProjectName());
+                cell12.setCellValue(companyReview.getConstructionNecessityAndContent());
+                cell13.setCellValue(companyReview.getSubstationName());
+                cell14.setCellValue(companyReview.getCircuitName());
+                cell15.setCellValue(companyReview.getNetRackProjectDivide());
+                cell16.setCellValue(companyReview.getRequirementType());
+
+                String costEstimateStr= companyReview.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(companyReview.getBasicRemarks());
+                cell19.setCellValue(companyReview.getJoinProvincialCompanyReview());
+                cell20.setCellValue(companyReview.getBatchOfProvincialCompany());
+                cell21.setCellValue(companyReview.getPassProvincialCompanyReview());
+                cell22.setCellValue(companyReview.getReviewComments());
+                cell23.setCellValue(companyReview.getDesignChangeRequired());
+                cell24.setCellValue(companyReview.getCompanyRemarks());
+            }
+
+            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
@@ -724,4 +931,23 @@ public class ReserveProcessProjectExportUtil {
         cell.setCellStyle(style);
         return cell;
     }
+
+    /**
+     * 创建Cell对象 同时设置style
+     * @param workbook
+     * @param row
+     * @param num
+     * @return
+     */
+    Cell crateCellNew(XSSFWorkbook workbook,Row row, int num){
+        Cell cell = row.createCell(num);
+        //设置样式
+        XSSFCellStyle style = workbook.createCellStyle();
+        style.setAlignment(XSSFCellStyle.ALIGN_CENTER); //水平居中
+        style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);  //垂直居中
+        style.setWrapText(true);//自动换行
+
+        cell.setCellStyle(style);
+        return cell;
+    }
 }

+ 134 - 32
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectProUtil.java

@@ -17,7 +17,7 @@ public class ReserveProcessProjectProUtil {
      * @param importUtil
      * @return List<ReserveManagementMapper> 导入表格数据
      */
-    public static List<ReserveProcessProject> getProjectUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ReserveProcessProject> getProjectUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ReserveProcessProject> list = new ArrayList<ReserveProcessProject>();
 
@@ -36,6 +36,7 @@ public class ReserveProcessProjectProUtil {
             String reserveProjectName = (String) importUtil.getCellValue(row,11);
             //获取项目储备编号
             String projectReserveId = (String) importUtil.getCellValue(row, 10);
+
             if(StringUtils.isNotBlank(reserveProjectName) ) {
                 if(StringUtils.isNotBlank(projectReserveId)){
 
@@ -52,6 +53,9 @@ public class ReserveProcessProjectProUtil {
 
                     reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
 
+                    //判断库中是否有重复数据
+                    getBmList(proIdList,reserveManagement.getProjectReserveId());
+
                     reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
 
                     reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
@@ -76,6 +80,7 @@ public class ReserveProcessProjectProUtil {
                     reserveManagement.setDesigner((String) importUtil.getCellValue(row,26));
                     reserveManagement.setBudgetPreparer((String) importUtil.getCellValue(row,27));
                     reserveManagement.setUninterruptedWorkSurveyPersonnel((String) importUtil.getCellValue(row,28));
+                    reserveManagement.setProcessStatus(0);
 //                    reserveManagement.setUninterruptedWorkSurveyPersonnel((String) importUtil.getCellValue(row,27));
 
 
@@ -112,7 +117,7 @@ public class ReserveProcessProjectProUtil {
      * @param importUtil
      * @return List<ReserveManagementMapper> 导入表格数据
      */
-    public static List<ReserveElectricityWork> getChargeProjectUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ReserveElectricityWork> getChargeProjectUtil(ImportUtil importUtil,List<String> proIdList,List<String> proIdList2) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ReserveElectricityWork> list = new ArrayList<ReserveElectricityWork>();
         //项目储备编号唯一性判断
@@ -131,19 +136,30 @@ public class ReserveProcessProjectProUtil {
             if(StringUtils.isNotBlank(projectReserveId)){
 
                 reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+                //判断库中是否有重复数据
+                getBmList(proIdList,reserveManagement.getProjectReserveId());
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList2,reserveManagement.getProjectReserveId());
+
+                reserveManagement.setHotLineWork((String) importUtil.getCellValue(row,23));
+
+
+                reserveManagement.setBoundarySwitchNum("");
+
+                reserveManagement.setHotLineWorkTypeNo((String) importUtil.getCellValue(row,25));
+                reserveManagement.setNoStopWorkPlan((String) importUtil.getCellValue(row,26));
+                reserveManagement.setPowerFailureNum((String) importUtil.getCellValue(row,27));
 
-                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));
+                if (reserveManagement.getHotLineWork().equals("是") & (reserveManagement.getHotLineWorkTypeNo().equals("")
+                    || reserveManagement.getNoStopWorkPlan().equals("") || reserveManagement.getPowerFailureNum().equals(""))){
+
+                    throw new Exception(reserveManagement.getProjectReserveId() + "项目,带电作业信息填写不完整!");
+                }
+
+                reserveManagement.setReasonsForNotWorkInterruption((String) importUtil.getCellValue(row,28));
+                reserveManagement.setPowerOutagePlan((String) importUtil.getCellValue(row,29));
+                reserveManagement.setPlanner((String) importUtil.getCellValue(row,30));
+                reserveManagement.setSiteSurveyor((String) importUtil.getCellValue(row,31));
 
                 if (list.size() == 0){
                     list.add(reserveManagement);
@@ -166,7 +182,7 @@ public class ReserveProcessProjectProUtil {
      * @param importUtil
      * @return List<ReserveManagementMapper> 导入表格数据
      */
-    public static List<ReserveSafety> getSafetyProjectUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ReserveSafety> getSafetyProjectUtil(ImportUtil importUtil,List<String> proIdList,List<String> proIdList2) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ReserveSafety> list = new ArrayList<ReserveSafety>();
 
@@ -185,6 +201,12 @@ public class ReserveProcessProjectProUtil {
 
                 reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
 
+                //判断库中是否有重复数据
+                getBmList(proIdList,reserveManagement.getProjectReserveId());
+
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList2,reserveManagement.getProjectReserveId());
+
                 reserveManagement.setTransmissionWork((String) importUtil.getCellValue(row,20));
                 reserveManagement.setWorkDescribe((String) importUtil.getCellValue(row,21));
                 reserveManagement.setTransmissionErection((String) importUtil.getCellValue(row,22));
@@ -235,7 +257,7 @@ public class ReserveProcessProjectProUtil {
      * @param importUtil
      * @return List<ReserveManagementMapper> 导入表格数据
      */
-    public static List<ReservePreconstruction> getPreconstUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ReservePreconstruction> getPreconstUtil(ImportUtil importUtil, List<String> proIdList,List<String> proIdList2) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ReservePreconstruction> list = new ArrayList<ReservePreconstruction>();
         //项目储备编号唯一性判断
@@ -252,13 +274,18 @@ public class ReserveProcessProjectProUtil {
 
                 reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
 
+                //判断库中是否有重复数据
+                getBmList(proIdList,reserveManagement.getProjectReserveId());
+
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList2,reserveManagement.getProjectReserveId());
 
                 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));
+                reserveManagement.setDesignCivilFoundation("");
+                reserveManagement.setCastInPlaceList("");
+                reserveManagement.setDesignList("");
 
 
                 if (list.size() == 0){
@@ -346,7 +373,7 @@ public class ReserveProcessProjectProUtil {
      * @param importUtil
      * @return List<ReserveManagementMapper> 导入表格数据
      */
-    public static List<ReserveSummary> getSummaryUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ReserveSummary> getSummaryUtil(ImportUtil importUtil,List<String> proIdList,List<String> proIdList2) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ReserveSummary> list = new ArrayList<ReserveSummary>();
 
@@ -360,23 +387,42 @@ public class ReserveProcessProjectProUtil {
 
             //获取项目储备编号
             String projectReserveId = (String) importUtil.getCellValue(row, 10);
+
             if(StringUtils.isNotBlank(projectReserveId)){
 
                 reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,11));
+                //和库中的 项目储备编号对比,看是否有重复的
+                getBmList(proIdList,reserveManagement.getProjectReserveId());
+                //和基本信息表对比      是否无对应数据
+                getBmList2(proIdList2,reserveManagement.getProjectReserveId());
 
                 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));
+                reserveManagement.setReasonForCancel((String) importUtil.getCellValue(row,26));
+                reserveManagement.setComprehensiveProject((String) importUtil.getCellValue(row,27));
+                reserveManagement.setPowerFailureDifficulty((String) importUtil.getCellValue(row,30));
+                reserveManagement.setPowerFailureDescribe((String) importUtil.getCellValue(row,31));
+                reserveManagement.setOtherProblemDifficulty((String) importUtil.getCellValue(row,32));
+                reserveManagement.setOtherProblemDescribe((String) importUtil.getCellValue(row,33));
+                reserveManagement.setRunPlanRequire((String) importUtil.getCellValue(row,34));
+                reserveManagement.setProgramChangeDescription((String) importUtil.getCellValue(row,35));
+                reserveManagement.setDiscloseRemarks((String) importUtil.getCellValue(row,36));
+                reserveManagement.setDemandUnitPriority((String) importUtil.getCellValue(row,37));
+                reserveManagement.setPreliminaryArrangement((String) importUtil.getCellValue(row,38));
+                reserveManagement.setInitialImplementBatch((String) importUtil.getCellValue(row,39));
+                reserveManagement.setInitialImplementUnit((String) importUtil.getCellValue(row,40));
+                reserveManagement.setProjectManagementCenter((String) importUtil.getCellValue(row,41));
+                reserveManagement.setCompleteProgressUnit((String) importUtil.getCellValue(row,42));
+                reserveManagement.setProjectReservePlan((String) importUtil.getCellValue(row,43));
+                reserveManagement.setDemandUnitProgress((String) importUtil.getCellValue(row,44));
+                reserveManagement.setDepartmentPlan((String) importUtil.getCellValue(row,45));
+                reserveManagement.setDrawMapPath((String) importUtil.getCellValue(row,47));
+                reserveManagement.setPlanRemarks((String) importUtil.getCellValue(row,48));
+                reserveManagement.setArrangementProject((String) importUtil.getCellValue(row,49));
+                reserveManagement.setImplementationBatch((String) importUtil.getCellValue(row,50));
+                reserveManagement.setConstructionUnit((String) importUtil.getCellValue(row,51));
+                reserveManagement.setDrawOfficeDrawn((String) importUtil.getCellValue(row,52));
+                reserveManagement.setProjectInitiateRemarks((String) importUtil.getCellValue(row,53));
+
 
                 if (list.size() == 0){
                     list.add(reserveManagement);
@@ -417,4 +463,60 @@ public class ReserveProcessProjectProUtil {
         }
         return list;
     }
+
+    /**
+     * 获取省公司评审表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<CompanyReview> getCompanyUtil(ImportUtil importUtil,List<String> proIdList,List<String> proIdList2) throws Exception {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<CompanyReview> list = new ArrayList<CompanyReview>();
+
+        CompanyReview companyReview = null;
+        for(int i=3; i<=lastRow;i++){
+            companyReview = new CompanyReview();
+            Row row = importUtil.getRow(i);
+
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+
+            if(StringUtils.isNotBlank(projectReserveId)){
+
+                companyReview.setProjectReserveId(projectReserveId);
+
+                //去数据库中判断是否有重复的数据
+                getBmList(proIdList,companyReview.getProjectReserveId());
+                //去汇总表中查看是否有对应数据
+                getBmList3(proIdList2,companyReview.getProjectReserveId());
+
+                companyReview.setJoinProvincialCompanyReview((String) importUtil.getCellValue(row,19));
+                companyReview.setBatchOfProvincialCompany((String) importUtil.getCellValue(row,20));
+                companyReview.setPassProvincialCompanyReview((String) importUtil.getCellValue(row,21));
+                companyReview.setReviewComments((String) importUtil.getCellValue(row,22));
+                companyReview.setDesignChangeRequired((String) importUtil.getCellValue(row,23));
+                companyReview.setCompanyRemarks((String) importUtil.getCellValue(row,24));
+                list.add(companyReview);
+            }
+        }
+        return list;
+    }
+
+    public static void getBmList(List<String> sjkList, String proId) throws Exception {
+        if (sjkList.contains(proId)){
+            throw new Exception(proId + "等项目已存在,不对数据进行保存!");
+        }
+    }
+
+    public static void getBmList2(List<String> sjkList, String proId) throws Exception {
+        if (!sjkList.contains(proId)){
+            throw new Exception(proId + "等项目在基础信息表中不存在相关数据!");
+        }
+    }
+
+    public static void getBmList3(List<String> sjkList, String proId) throws Exception {
+        if (!sjkList.contains(proId)){
+            throw new Exception(proId + "项目不存在汇总信息,不允许导入相关省公司评审信息!");
+        }
+    }
 }

+ 243 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/CompanyReviewController.java

@@ -0,0 +1,243 @@
+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.CompanyReview;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.CompanyReviewService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
+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;
+
+/**
+ * 省公司评审
+ * @author: 王强
+ * @create: 2022-10-24 16:02
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/companyReview")
+public class CompanyReviewController extends BaseController {
+
+    @Autowired
+    private CompanyReviewService service;
+
+    @Autowired
+    private SummaryStatisticService statisticService;
+
+    @Autowired
+    private ReserveProcessProjectService projectService;
+
+    @ModelAttribute
+    public CompanyReview get(@RequestParam(required = false) String id) {
+        CompanyReview entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = service.get(id);
+        }
+        if (entity == null) {
+            entity = new CompanyReview();
+        }
+        return entity;
+    }
+
+    /**
+     * 省公司评审信息列表页面
+     * @param review
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:companyReview:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(CompanyReview review, Model model) {
+        model.addAttribute("review", review);
+        return "modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewInfo";
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:companyReview: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<String> proIdList = service.getAllProId();
+            //去汇总表中查出所有的 项目编码
+            List<String> proIdList2 = service.getAllProId2();
+
+            //获取汇总表中的数据  物料编码 和 是否纳入储备字段
+            List<ReserveSummary> allCode = statisticService.getAllCode();
+
+            //获取导入表格所有数据
+            List<CompanyReview> companyReviewList = ReserveProcessProjectProUtil.getCompanyUtil(importUtil,proIdList,proIdList2);
+            //对 是否通过省公司评审字段进行判断
+            //两种情况  1、在流程中  2、流程未开始
+            companyReviewList.forEach(c->{
+                allCode.forEach(a->{
+                    //通过省公司评审的状态
+                    if (c.getPassProvincialCompanyReview().equals("通过") & a.getProjectReserveId().equals(c.getProjectReserveId())){
+
+                    }else if (c.getPassProvincialCompanyReview().equals("取消") & a.getProjectReserveId().equals(c.getProjectReserveId())){
+                        //取消的状态
+                        //流程开始的状态
+                        if (a.getIncludeReserve().equals("是")){
+                            //修改基础表的流程字段为取消,修改汇总表的是否纳入储备为取消,将取消原因放入到汇总表的取消原因说明字段 结束流程
+                            projectService.updateProcessStatus(a.getProjectReserveId(),3);
+                            statisticService.updateReserveSummary(a.getProjectReserveId(),"取消",c.getReviewComments());
+                            //取消流程   将流程表中的流程信息删除
+                            service.deleteActivityByProId(a.getProjectReserveId());
+                        }
+                    }
+                });
+            });
+
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = service.getExistProjectList(companyReviewList);
+            //未存在数据
+            List<CompanyReview> withoutList = (List<CompanyReview>) map.get("without");
+            //已存在数据
+            List<CompanyReview> existList = (List<CompanyReview>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                service.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (CompanyReview companyReview : existList) {
+                    service.update(companyReview);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条省公司评审信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入省公司评审信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+    /**
+     * 编辑表单页面
+     * @param companyReview
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:companyReview:add","cg:reservemanagementcenter:companyReview:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(CompanyReview companyReview, Model model) {
+
+        model.addAttribute("companyReview", companyReview);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(companyReview.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewModifyByzz";
+    }
+
+    /**
+     * 项目储备信息数据列表
+     * @param companyReview
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:companyReview:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(CompanyReview companyReview, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<CompanyReview> page = service.findPage(new Page<CompanyReview>(request, response), companyReview);
+        return getBootstrapData(page);
+    }
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:companyReview:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(CompanyReview companyReview, HttpServletRequest request, HttpServletResponse response) {
+        List<CompanyReview> list = service.exportFindList(companyReview);
+
+        //生成序列号
+        int i = 1;
+        for (CompanyReview s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("companyReview");
+        util.exportCompany(response,workbook,list);
+    }
+
+    /**
+     * 修改表单
+     * @param companyReview
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:companyReview:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(CompanyReview companyReview){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(companyReview);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //修改时的两种情况
+        //1、在流程进行中修改(修改基础表的流程字段为取消,修改汇总表的是否纳入储备为取消,将取消原因放入到汇总表的取消原因说明字段 结束流程)
+        //2、流程未开始修改(正常操作不进行其他处理)
+        if (companyReview.getPassProvincialCompanyReview().equals("取消")){
+            projectService.updateProcessStatus(companyReview.getProjectReserveId(),3);
+            statisticService.updateReserveSummary(companyReview.getProjectReserveId(),"取消",companyReview.getReviewComments());
+            //取消流程   将流程表中的流程信息删除
+            service.deleteActivityByProId(companyReview.getProjectReserveId());
+        }
+        //新增或编辑表单保存
+        service.update(companyReview);
+
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:companyReview:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(CompanyReview companyReview, Model model) {
+        model.addAttribute("companyReview", companyReview);
+        return "modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewView";
+    }
+}

+ 654 - 36
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ProcessController.java

@@ -11,18 +11,17 @@ import com.jeeplus.core.web.BaseController;
 import com.jeeplus.core.web.Servlets;
 import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.Demolite;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.DocumentInfo;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.DemoliteService;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.FeedBackBudgetService;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.MaterialSupplyService;
-import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveSummaryProcessService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.*;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.DataList;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.EnginnerQueryService;
 import com.jeeplus.modules.sg.managementcenter.materialinfo.entity.MaterialInfo;
 import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
 import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveProcess;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
-import com.jeeplus.modules.sg.raiseCapital.service.RaiseCapitalService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Controller;
@@ -66,16 +65,19 @@ public class ProcessController extends BaseController {
     private ReserveSummaryProcessService reserveProcessService;
 
     @Autowired
-    private DemoliteService demoliteService;
+    private ReserveElectricityWorkService workService;
+
+    @Autowired
+    private ReservePreconstructService preconstructService;
 
     @Autowired
-    private FeedBackBudgetService budgetService;
+    private EnginnerQueryService queryService;
 
     @Autowired
-    private RaiseCapitalService raiseCapitalService;
+    private DemoliteService demoliteService;
 
     @Autowired
-    private MaterialSupplyService materialSupplyService;
+    private DocumentInfoService infoService;
 
     @ModelAttribute
     public ReserveSummaryProcess get(@RequestParam(required = false) String id) {
@@ -94,6 +96,26 @@ public class ProcessController extends BaseController {
      */
     @RequestMapping(value = "designUnit")
     public String designUnit(ReserveSummaryProcess reserveProcess, Model model) {
+
+        //查看历史数据
+        DocumentInfo infoByProId = infoService.getInfoByProId(reserveProcess.getProjectReserveId());
+        int count = reserveProcessService.getCountByName(reserveProcess.getProjectName());
+        //如果不为空,  将数据赋值给reserveProcess
+        if (infoByProId != null){
+            //将文件地址赋值给reserveProcess
+            reserveProcess.setBudgetStatement(infoByProId.getBudgetStatement());
+            reserveProcess.setProjectProposal(infoByProId.getProjectProposal());
+            reserveProcess.setDrawings(infoByProId.getDrawings());
+            reserveProcess.setDrawingSpecification(infoByProId.getDrawingSpecification());
+            reserveProcess.setDemolition(infoByProId.getDemolition());
+            reserveProcess.setApprovalForm(infoByProId.getApprovalForm());
+
+        }
+        if (count>0){
+            model.addAttribute("material", "测试");
+            model.addAttribute("drjgc", "测试");
+        }
+
         model.addAttribute("reserveProcess", reserveProcess);
         return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnit";
     }
@@ -117,7 +139,7 @@ public class ProcessController extends BaseController {
     }
 
     /**
-     * 联合审图(储备专职/配网项目经理)
+     * 项目经理审图(储备专职/配网项目经理)
      */
     @RequestMapping(value = "drawingReview")
     public String drawingReview(ReserveSummaryProcess reserveProcess, Model model) {
@@ -126,21 +148,19 @@ public class ProcessController extends BaseController {
     }
 
     /**
+     * 联合审图(储备专职/配网项目经理)
+     */
+    @RequestMapping(value = "drawingReviewTest")
+    public String drawingReviewTest(ReserveSummaryProcess reserveProcess, Model model) {
+        model.addAttribute("reserveProcess", reserveProcess);
+        return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/test/drawingReviewTest";
+    }
+
+    /**
      * 技经人员审预算
      */
     @RequestMapping(value = "budgetReview")
     public String budgetReview(ReserveSummaryProcess reserveProcess, Model model) {
-        reserveProcess.setPreferedCase("");
-        reserveProcess.setTransferSituation("");
-        reserveProcess.setBudgetTemplateCheck("");
-        reserveProcess.setQuotaApplicationCheck("");
-        reserveProcess.setWorkLoadCheck("");
-        reserveProcess.setCheckTheFee("");
-        reserveProcess.setSupplyCheck("");
-        reserveProcess.setMaterialCheck("");
-        reserveProcess.setLiveWorkFeeCheck("");
-        reserveProcess.setDemolitionEngineeringProblems("");
-        reserveProcess.setOtherProblem("");
         model.addAttribute("reserveProcess", reserveProcess);
         return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview";
     }
@@ -168,6 +188,352 @@ public class ProcessController extends BaseController {
     }
 
     /***
+     * 设计单位审核  新
+     * */
+    @ResponseBody
+    @RequestMapping(value = "actDesignUnitNew")
+    public AjaxJson actDesignUnitNew(Act act, ReserveSummaryProcess reserveProcess,String material,String drjgc) throws Exception {
+        AjaxJson j = new AjaxJson();
+
+        if (material != null || drjgc != null){
+            //将上传的文件进行持久化操作
+            //保存文件地址
+            DocumentInfo infoByProId = new DocumentInfo(reserveProcess.getProjectReserveId(),reserveProcess.getBudgetStatement(),reserveProcess.getProjectProposal(),
+                    reserveProcess.getDrawings(),
+                    reserveProcess.getDrawingSpecification(),reserveProcess.getDemolition(),
+                    reserveProcess.getApprovalForm());
+            infoService.save(infoByProId);
+
+            //在将拆旧清册数据存入数据库前先查出库中有没有这个project ReserveId的相关数据
+            String projectReserveId = reserveProcess.getProjectReserveId();
+            demoliteService.deleteByProjectReserveId(projectReserveId);
+            //获取拆旧清册数据
+            //String index out of range: -1 这个异常一般是截取字符串时报的错误。
+            File file = new File(reserveProcess.getDemolition());
+            String path = file.getAbsolutePath();
+//            int index = file.getAbsolutePath().indexOf("\\fileServer");
+            int index = file.getAbsolutePath().indexOf("fileServer");
+//            path = path.substring(index);
+
+            String FILE_PREFIX = loader.getProperty("linux.file.store.prefix");
+
+            if (SYS_TYPE.equals("1")) {
+                path = path.substring(index-1);
+
+            } else {
+                //liunx file store prefix
+                path = FILE_PREFIX + Servlets.getRequest().getContextPath() + path.substring(index-1);
+                path = path.replaceAll("\\\\","/");
+            }
+
+            File demoFile = new File(path);
+
+            InputStream inputStream = new FileInputStream(demoFile);
+            MultipartFile multipartFile = new MockMultipartFile("file", demoFile.getName(), null, inputStream);
+            ImportUtil importUtil = new ImportUtil(multipartFile, 0, 0);
+            //获取导入表格所有数据
+            List<Demolite> reserveManagementList = ReserveProcessProjectProUtil.getDemoliteUtil(importUtil, projectReserveId);
+            //将数据存入数据库
+            demoliteService.insertList(reserveManagementList);
+
+            String flag = act.getFlag();
+            try {
+                String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+                act.setComment(comment);
+                if ("yes".equals(flag)) {
+
+                    //从redis中查看是否有在线开甲供材数据
+                    List<?> list = DataList.getList(reserveProcess.getProjectReserveId());
+                    List<MaterialInfo> infoList = new ArrayList<>();
+                    ShowList showList = null;
+                    MaterialInfo info = null;
+                    if ("".equals(drjgc) & "".equals(material)) {
+                        j.setMsg("该项目没有甲供材清册");
+                        j.setSuccess(false);
+                        return j;
+                    }else if ("".equals(drjgc) & !"".equals(material)){
+                        //将redis中的数据存入数据库   cg_material_data
+                        for (int i=0;i<list.size();i++){
+                            showList = (ShowList) list.get(i);
+                            info = new MaterialInfo();
+                            info.setProjectName(showList.getProjectName());
+                            info.setMaterialCode(showList.getMaterialCode());
+                            info.setMaterialName(showList.getMaterialDescription());
+                            info.setExtendDescription(showList.getExtensionDescription());
+                            info.setUnit(showList.getMdUnits());
+                            info.setTotalCount(showList.getMdTotalAmount());
+                            info.setWeightKg(showList.getMdSingleWeight());
+                            info.setWeightTon(showList.getMdTotalWeight());
+                            info.setSupplyType(showList.getMdTheParty());
+                            info.setNote(showList.getMdText());
+                            infoList.add(info);
+                        }
+                        //保存甲供材信息
+                        reserveProcessService.saveList(infoList);
+                        //修改项目设计单位上传文件部分
+//                        reserveProcessService.updateDesign(reserveProcess);
+                        reserveProcessService.actDesignUnit(act, reserveProcess);
+
+                        //设置带电作业信息表 相关字段值
+                        Double allNum = reserveProcessService.getAllNum("500138348");
+                        workService.updateSwitchNum(allNum == null ? "" : allNum + "");
+
+                        //获取新建土建包封数据总和
+                        double bfSum = 0.0;
+                        if (queryService.getTJBFData() != null){
+                            bfSum = bfSum + queryService.getTJBFData();
+
+                        }
+                        //获取新建土建基础数据总和
+                        double jcSum = 0.0;
+                        if (queryService.getTJJCData() != null){
+                            jcSum = jcSum + queryService.getTJJCData();
+
+                        }
+                        double divide = jcSum/bfSum;
+
+                        //获取所有的 物料编码,扩展描述,总量信息
+                        List<MaterialData> materialData = queryService.findAllCount();
+
+                        //现场浇筑清单
+                        Double decimal1 = 0.0;
+                        Double decimal2 = 0.0;
+                        Double decimal3 = 0.0;
+                        Double decimal4 = 0.0;
+                        Double decimal5 = 0.0;
+                        Double decimal6 = 0.0;
+
+                        //预制化清单
+                        Double decimal7 = 0.0;
+                        Double decimal8 = 0.0;
+                        Double decimal9 = 0.0;
+                        Double decimal10 = 0.0;
+                        Double decimal11 = 0.0;
+                        Double decimal12 = 0.0;
+                        Double decimal13 = 0.0;
+                        Double decimal14 = 0.0;
+                        Double decimal15 = 0.0;
+                        Double decimal16 = 0.0;
+                        Double decimal17 = 0.0;
+                        Double decimal18 = 0.0;
+                        Double decimal19 = 0.0;
+                        for (int i=0;i<materialData.size();i++){
+                            if (materialData.get(i).getMaterialCode().equals("乙供")){
+                                //现场浇筑清单
+                                if (materialData.get(i).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal1 = decimal1 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("GNH35-13;灌注桩")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal2 = decimal2 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("GNH39-13;灌注桩")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal3 = decimal3 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("GNH31-13;台阶式基础")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal4 = decimal4 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("GNH35-13;台阶式基础")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal5 = decimal5 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("GNH39-13;台阶式基础")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal6 = decimal6 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+
+                                //预制化清单
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,2×3(5+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal7 = decimal7 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,2×4(7+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal8 = decimal8 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,3×4(11+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal9 = decimal9 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,4×3(11+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal10 = decimal10 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,4×4(15+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal11 = decimal11 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化排管,4×5(19+1),≤100kN")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal12 = decimal12 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化直线井,3×2.0×1.9,人孔")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal13 = decimal13 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化三通井,3×2.8×1.9,人孔")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal14 = decimal14 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("预制化八角井,4.0×4.0×1.9,人孔")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal15 = decimal15 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("两进两出环网箱基础预制,3.2×1.15×1.6")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal16 = decimal16 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("两进四出环网箱基础预制,4.0×1.15×1.6")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal17 = decimal17 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("紧凑型箱变基础预制,2.45×1.15×1.6")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal18 = decimal18 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+                                if (materialData.get(i).getExtendDescription().equals("标准型箱变基础预制,3.3×2.2×1.6")
+                                        & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                    decimal19 = decimal19 + Double.valueOf(materialData.get(i).getTotalCount());
+                                }
+
+                            }
+
+                        }
+                    /*materialData.forEach(da ->{
+                        if (da.getMaterialCode().equals("500128790")){
+                            String extendDescription = da.getExtendDescription();
+                            //使用switch
+                            switch (extendDescription){
+                                case "配农网用,整套杆,GNH31-13-B":
+                                    if (StringUtils.isNotEmpty(da.getTotalCount())){
+                                        decimal1.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                        break;
+                                    }
+                                    break;
+                                case "GNH35-13;灌注桩":
+                                    if (da.getTotalCount() != null){
+                                        decimal2.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH39-13;灌注桩":
+                                    if (da.getTotalCount() != null){
+                                        decimal3.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH31-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal4.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH35-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal5.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH39-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal6.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                            }
+                            if (extendDescription.equals("配农网用,整套杆,GNH31-13-B") & StringUtils.isNotEmpty(da.getTotalCount())){
+                                decimal1 = new BigDecimal(Double.valueOf(da.getTotalCount());
+                                decimal1.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                            }
+
+                        }
+                    });*/
+
+                        //设置    现场浇筑清单数据
+                        String castInPlaceList = "";
+                        if (StringUtils.isNotEmpty(decimal1.toString()) & decimal1 != 0.0){
+                            castInPlaceList = decimal1.toString() + "基" + "配农网用,整套杆,GNH31-13-B";
+                        }
+                        if (StringUtils.isNotEmpty(decimal2.toString()) & decimal2 != 0.0){
+                            castInPlaceList = castInPlaceList + ";" + decimal2.toString() + "基" + "GNH35-13;灌注桩";
+                        }
+                        if (StringUtils.isNotEmpty(decimal3.toString()) & decimal3 != 0.0){
+                            castInPlaceList = castInPlaceList + ";" + decimal3.toString() + "基" + "GNH39-13;灌注桩";
+                        }
+                        if (StringUtils.isNotEmpty(decimal4.toString()) & decimal4 != 0.0){
+                            castInPlaceList = castInPlaceList + ";" + decimal4.toString() + "基" + "GNH31-13;台阶式基础";
+                        }
+                        if (StringUtils.isNotEmpty(decimal5.toString()) & decimal5 != 0.0){
+                            castInPlaceList = castInPlaceList + ";" + decimal5.toString() + "基" + "GNH35-13;台阶式基础";
+                        }
+                        if (StringUtils.isNotEmpty(decimal6.toString()) & decimal6 != 0.0){
+                            castInPlaceList = castInPlaceList + ";" + decimal6.toString() + "基" + "GNH39-13;台阶式基础";
+                        }
+
+                        String designList = "";
+                        if (StringUtils.isNotEmpty(decimal7.toString()) & decimal7 != 0.0){
+                            designList = decimal7.toString() + "米" + "预制化排管,2×3(5+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal8.toString()) & decimal8 != 0.0){
+                            designList = designList + ";" + decimal8.toString() + "米" + "预制化排管,2×4(7+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal9.toString()) & decimal9 != 0.0){
+                            designList = designList + ";" + decimal9.toString() + "米" + "预制化排管,3×4(11+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal10.toString()) & decimal10 != 0.0){
+                            designList = designList + ";" + decimal10.toString() + "米" + "预制化排管,4×3(11+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal11.toString()) & decimal11 != 0.0){
+                            designList = designList + ";" + decimal11.toString() + "米" + "预制化排管,4×4(15+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal12.toString()) & decimal12 != 0.0){
+                            designList = designList + ";" + decimal12.toString() + "米" + "预制化排管,4×5(19+1),≤100kN";
+                        }
+                        if (StringUtils.isNotEmpty(decimal13.toString()) & decimal13 != 0.0){
+                            designList = designList + ";" + decimal13.toString() + "座" + "预制化直线井,3×2.0×1.9,人孔";
+                        }
+                        if (StringUtils.isNotEmpty(decimal14.toString()) & decimal14 != 0.0){
+                            designList = designList + ";" + decimal14.toString() + "座" + "预制化三通井,3×2.8×1.9,人孔";
+                        }
+                        if (StringUtils.isNotEmpty(decimal15.toString()) & decimal15 != 0.0){
+                            designList = designList + ";" + decimal15.toString() + "座" + "预制化八角井,4.0×4.0×1.9,人孔";
+                        }
+                        if (StringUtils.isNotEmpty(decimal16.toString()) & decimal16 != 0.0){
+                            designList = designList + ";" + decimal16.toString() + "座" + "两进两出环网箱基础预制,3.2×1.15×1.6";
+                        }
+                        if (StringUtils.isNotEmpty(decimal17.toString()) & decimal17 != 0.0){
+                            designList = designList + ";" + decimal17.toString() + "座" + "两进四出环网箱基础预制,4.0×1.15×1.6";
+                        }
+                        if (StringUtils.isNotEmpty(decimal18.toString()) & decimal18 != 0.0){
+                            designList = designList + ";" + decimal18.toString() + "座" + "紧凑型箱变基础预制,2.45×1.15×1.6";
+                        }
+                        if (StringUtils.isNotEmpty(decimal19.toString()) & decimal19 != 0.0){
+                            designList = designList + ";" + decimal19.toString() + "座" + "标准型箱变基础预制,3.3×2.2×1.6";
+                        }
+
+                        if (divide >0 ){
+                            //修改  是否含新建土建基础/包封 为是
+                            preconstructService.updateMetion("是",castInPlaceList,designList);
+                        }else {
+                            preconstructService.updateMetion("否",castInPlaceList,designList);
+                        }
+
+                    }else {
+                        //修改项目设计单位上传文件部分
+//                        reserveProcessService.updateDesign(reserveProcess);
+                        reserveProcessService.actDesignUnit(act, reserveProcess);
+                    }
+                } else {
+                    reserveProcessService.actDesignUnit(act, reserveProcess);
+                }
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }
+        }
+
+        j.setMsg("审批成功");
+        return j;
+    }
+
+    /***
      * 设计单位审核
      * */
     @ResponseBody
@@ -240,10 +606,254 @@ public class ProcessController extends BaseController {
                         info.setNote(showList.getMdText());
                         infoList.add(info);
                     }
+                    //保存甲供材信息
                     reserveProcessService.saveList(infoList);
                     //修改项目设计单位上传文件部分
                     reserveProcessService.updateDesign(reserveProcess);
                     reserveProcessService.actDesignUnit(act, reserveProcess);
+
+                    //设置带电作业信息表 相关字段值
+                    Double allNum = reserveProcessService.getAllNum("500138348");
+                    workService.updateSwitchNum(allNum == null ? "" : allNum + "");
+
+                    //获取新建土建包封数据总和
+                    double bfSum = 0.0;
+                    if (queryService.getTJBFData() != null){
+                        bfSum = bfSum + queryService.getTJBFData();
+
+                    }
+                    //获取新建土建基础数据总和
+                    double jcSum = 0.0;
+                    if (queryService.getTJJCData() != null){
+                        jcSum = jcSum + queryService.getTJJCData();
+
+                    }
+                    double divide = jcSum/bfSum;
+
+                    //获取所有的 物料编码,扩展描述,总量信息
+                    List<MaterialData> materialData = queryService.findAllCount();
+
+                    //现场浇筑清单
+                    Double decimal1 = 0.0;
+                    Double decimal2 = 0.0;
+                    Double decimal3 = 0.0;
+                    Double decimal4 = 0.0;
+                    Double decimal5 = 0.0;
+                    Double decimal6 = 0.0;
+
+                    //预制化清单
+                    Double decimal7 = 0.0;
+                    Double decimal8 = 0.0;
+                    Double decimal9 = 0.0;
+                    Double decimal10 = 0.0;
+                    Double decimal11 = 0.0;
+                    Double decimal12 = 0.0;
+                    Double decimal13 = 0.0;
+                    Double decimal14 = 0.0;
+                    Double decimal15 = 0.0;
+                    Double decimal16 = 0.0;
+                    Double decimal17 = 0.0;
+                    Double decimal18 = 0.0;
+                    Double decimal19 = 0.0;
+                    for (int i=0;i<materialData.size();i++){
+                        if (materialData.get(i).getMaterialCode().equals("乙供")){
+                            //现场浇筑清单
+                            if (materialData.get(i).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal1 = decimal1 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("GNH35-13;灌注桩")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal2 = decimal2 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("GNH39-13;灌注桩")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal3 = decimal3 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("GNH31-13;台阶式基础")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal4 = decimal4 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("GNH35-13;台阶式基础")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal5 = decimal5 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("GNH39-13;台阶式基础")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal6 = decimal6 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+
+                            //预制化清单
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,2×3(5+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal7 = decimal7 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,2×4(7+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal8 = decimal8 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,3×4(11+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal9 = decimal9 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,4×3(11+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal10 = decimal10 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,4×4(15+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal11 = decimal11 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化排管,4×5(19+1),≤100kN")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal12 = decimal12 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化直线井,3×2.0×1.9,人孔")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal13 = decimal13 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化三通井,3×2.8×1.9,人孔")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal14 = decimal14 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("预制化八角井,4.0×4.0×1.9,人孔")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal15 = decimal15 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("两进两出环网箱基础预制,3.2×1.15×1.6")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal16 = decimal16 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("两进四出环网箱基础预制,4.0×1.15×1.6")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal17 = decimal17 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("紧凑型箱变基础预制,2.45×1.15×1.6")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal18 = decimal18 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+                            if (materialData.get(i).getExtendDescription().equals("标准型箱变基础预制,3.3×2.2×1.6")
+                                    & StringUtils.isNotEmpty(materialData.get(i).getTotalCount())){
+                                decimal19 = decimal19 + Double.valueOf(materialData.get(i).getTotalCount());
+                            }
+
+                        }
+
+                    }
+                    /*materialData.forEach(da ->{
+                        if (da.getMaterialCode().equals("500128790")){
+                            String extendDescription = da.getExtendDescription();
+                            //使用switch
+                            switch (extendDescription){
+                                case "配农网用,整套杆,GNH31-13-B":
+                                    if (StringUtils.isNotEmpty(da.getTotalCount())){
+                                        decimal1.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                        break;
+                                    }
+                                    break;
+                                case "GNH35-13;灌注桩":
+                                    if (da.getTotalCount() != null){
+                                        decimal2.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH39-13;灌注桩":
+                                    if (da.getTotalCount() != null){
+                                        decimal3.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH31-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal4.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH35-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal5.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                                case "GNH39-13;台阶式基础":
+                                    if (da.getTotalCount() != null){
+                                        decimal6.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                                    }
+                                    break;
+                            }
+                            if (extendDescription.equals("配农网用,整套杆,GNH31-13-B") & StringUtils.isNotEmpty(da.getTotalCount())){
+                                decimal1 = new BigDecimal(Double.valueOf(da.getTotalCount());
+                                decimal1.add(BigDecimal.valueOf(Double.valueOf(da.getTotalCount())));
+                            }
+
+                        }
+                    });*/
+
+                    //设置    现场浇筑清单数据
+                    String castInPlaceList = "";
+                    if (StringUtils.isNotEmpty(decimal1.toString()) & decimal1 != 0.0){
+                        castInPlaceList = decimal1.toString() + "基" + "配农网用,整套杆,GNH31-13-B";
+                    }
+                    if (StringUtils.isNotEmpty(decimal2.toString()) & decimal2 != 0.0){
+                        castInPlaceList = castInPlaceList + ";" + decimal2.toString() + "基" + "GNH35-13;灌注桩";
+                    }
+                    if (StringUtils.isNotEmpty(decimal3.toString()) & decimal3 != 0.0){
+                        castInPlaceList = castInPlaceList + ";" + decimal3.toString() + "基" + "GNH39-13;灌注桩";
+                    }
+                    if (StringUtils.isNotEmpty(decimal4.toString()) & decimal4 != 0.0){
+                        castInPlaceList = castInPlaceList + ";" + decimal4.toString() + "基" + "GNH31-13;台阶式基础";
+                    }
+                    if (StringUtils.isNotEmpty(decimal5.toString()) & decimal5 != 0.0){
+                        castInPlaceList = castInPlaceList + ";" + decimal5.toString() + "基" + "GNH35-13;台阶式基础";
+                    }
+                    if (StringUtils.isNotEmpty(decimal6.toString()) & decimal6 != 0.0){
+                        castInPlaceList = castInPlaceList + ";" + decimal6.toString() + "基" + "GNH39-13;台阶式基础";
+                    }
+
+                    String designList = "";
+                    if (StringUtils.isNotEmpty(decimal7.toString()) & decimal7 != 0.0){
+                        designList = decimal7.toString() + "米" + "预制化排管,2×3(5+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal8.toString()) & decimal8 != 0.0){
+                        designList = designList + ";" + decimal8.toString() + "米" + "预制化排管,2×4(7+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal9.toString()) & decimal9 != 0.0){
+                        designList = designList + ";" + decimal9.toString() + "米" + "预制化排管,3×4(11+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal10.toString()) & decimal10 != 0.0){
+                        designList = designList + ";" + decimal10.toString() + "米" + "预制化排管,4×3(11+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal11.toString()) & decimal11 != 0.0){
+                        designList = designList + ";" + decimal11.toString() + "米" + "预制化排管,4×4(15+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal12.toString()) & decimal12 != 0.0){
+                        designList = designList + ";" + decimal12.toString() + "米" + "预制化排管,4×5(19+1),≤100kN";
+                    }
+                    if (StringUtils.isNotEmpty(decimal13.toString()) & decimal13 != 0.0){
+                        designList = designList + ";" + decimal13.toString() + "座" + "预制化直线井,3×2.0×1.9,人孔";
+                    }
+                    if (StringUtils.isNotEmpty(decimal14.toString()) & decimal14 != 0.0){
+                        designList = designList + ";" + decimal14.toString() + "座" + "预制化三通井,3×2.8×1.9,人孔";
+                    }
+                    if (StringUtils.isNotEmpty(decimal15.toString()) & decimal15 != 0.0){
+                        designList = designList + ";" + decimal15.toString() + "座" + "预制化八角井,4.0×4.0×1.9,人孔";
+                    }
+                    if (StringUtils.isNotEmpty(decimal16.toString()) & decimal16 != 0.0){
+                        designList = designList + ";" + decimal16.toString() + "座" + "两进两出环网箱基础预制,3.2×1.15×1.6";
+                    }
+                    if (StringUtils.isNotEmpty(decimal17.toString()) & decimal17 != 0.0){
+                        designList = designList + ";" + decimal17.toString() + "座" + "两进四出环网箱基础预制,4.0×1.15×1.6";
+                    }
+                    if (StringUtils.isNotEmpty(decimal18.toString()) & decimal18 != 0.0){
+                        designList = designList + ";" + decimal18.toString() + "座" + "紧凑型箱变基础预制,2.45×1.15×1.6";
+                    }
+                    if (StringUtils.isNotEmpty(decimal19.toString()) & decimal19 != 0.0){
+                        designList = designList + ";" + decimal19.toString() + "座" + "标准型箱变基础预制,3.3×2.2×1.6";
+                    }
+
+                    if (divide >0 ){
+                        //修改  是否含新建土建基础/包封 为是
+                        preconstructService.updateMetion("是",castInPlaceList,designList);
+                    }else {
+                        preconstructService.updateMetion("否",castInPlaceList,designList);
+                    }
+
                 }else {
                     //修改项目设计单位上传文件部分
                     reserveProcessService.updateDesign(reserveProcess);
@@ -344,16 +954,36 @@ public class ProcessController extends BaseController {
     }
 
     /***
-     * 联合审图(储备专职/配网项目经理)
+     * 项目经理审图(储备专职/配网项目经理)
      * */
     @ResponseBody
     @RequestMapping(value = "actDrawingReview")
-    public AjaxJson actDrawingReview(Act act) {
+    public AjaxJson actDrawingReview(Act act,ReserveSummaryProcess process) {
         AjaxJson j = new AjaxJson();
         try {
             String comment = URLDecoder.decode(act.getComment(), "UTF-8");
             act.setComment(comment);
-            reserveProcessService.actDrawingReview(act);
+            reserveProcessService.actDrawingReview(act,process);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        j.setMsg("审批成功");
+        return j;
+    }
+
+    /***
+     * 联合审图(储备专职/配网项目经理)
+     * */
+    @ResponseBody
+    @RequestMapping(value = "actDrawingReviewTest")
+    public AjaxJson actDrawingReviewTest(Act act,ReserveSummaryProcess process) {
+        AjaxJson j = new AjaxJson();
+        try {
+            String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+            act.setComment(comment);
+            reserveProcessService.actDrawingReviewTest(act,process);
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }
@@ -379,16 +1009,4 @@ public class ProcessController extends BaseController {
         j.setMsg("审批成功");
         return j;
     }
-
-    @ResponseBody
-    @RequestMapping(value = "saveJgc")
-    public void saveJgc(){
-        System.out.println("测试");
-    }
-
-    @ResponseBody
-    @RequestMapping(value = "getJgcOnLine")
-    public void getJgcOnLine(String projectName){
-        System.out.println("测试");
-    }
 }

+ 29 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveElectricityWorkController.java

@@ -179,8 +179,14 @@ public class ReserveElectricityWorkController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = workService.getAllProId();
+
+            //从基本数据表中查出所有的 项目储备编号
+            List<String> proIdList2 = workService.getAllProId2();
+
             //获取导入表格所有数据
-            List<ReserveElectricityWork> reserveManagementList = ReserveProcessProjectProUtil.getChargeProjectUtil(importUtil);
+            List<ReserveElectricityWork> reserveManagementList = ReserveProcessProjectProUtil.getChargeProjectUtil(importUtil,proIdList,proIdList2);
             //查询已有的参数数据 并分类返回已存在数据和未存在数据
             Map map = workService.getExistProjectList(reserveManagementList);
             //未存在数据
@@ -277,4 +283,26 @@ public class ReserveElectricityWorkController extends BaseController {
         }
         return "modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz";
     }
+
+    /**
+     * 导出查勘单
+     * @param reserveManagement
+     * @param request
+     * @param response
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveElectricityWork:svrExport"},logical= Logical.OR)
+    @RequestMapping(value = "svrExport")
+    public void svrExport(ReserveElectricityWork reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook;
+        //如果是带电作业,就导出  镇江公司设计阶段停电作业查勘单
+        if (reserveManagement.getHotLineWork().equals("是")){
+            workbook = util.getWorkbook("powerFailureSurveySheet");
+        }else {
+            //否则导出  镇江公司设计阶段不停电作业查勘单
+            workbook = util.getWorkbook("noPowerFailureSurveySheet");
+        }
+
+        util.exportSurveySheet(response,workbook,reserveManagement);
+    }
 }

+ 8 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReservePreconstructController.java

@@ -178,8 +178,15 @@ public class ReservePreconstructController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = structService.getAllProId();
+
+            //从基本数据表中查出所有的 项目储备编号
+            List<String> proIdList2 = structService.getAllProId2();
+
             //获取导入表格所有数据
-            List<ReservePreconstruction> reserveManagementList = ReserveProcessProjectProUtil.getPreconstUtil(importUtil);
+            List<ReservePreconstruction> reserveManagementList = ReserveProcessProjectProUtil.getPreconstUtil(importUtil,proIdList,proIdList2);
             //查询已有的参数数据 并分类返回已存在数据和未存在数据
             Map map = structService.getExistProjectList(reserveManagementList);
             //未存在数据

+ 24 - 3
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveProcessProjectController.java

@@ -180,6 +180,12 @@ public class ReserveProcessProjectController extends BaseController {
             j.setMsg(errMsg);
             return j;
         }
+        List<String> proIdList = projectService.getAllProId();
+        if (proIdList.contains(reserveManagement.getProjectReserveId())){
+            j.setSuccess(false);
+            j.setMsg( reserveManagement.getProjectReserveId() + "项目已存在,不对数据进行保存!");
+            return j;
+        }
         //新增或编辑表单保存
         projectService.save(reserveManagement);//保存
         j.setSuccess(true);
@@ -196,7 +202,7 @@ public class ReserveProcessProjectController extends BaseController {
     @ResponseBody
     @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:edit"},logical=Logical.OR)
     @RequestMapping(value = "update")
-    public AjaxJson update(ReserveProcessProject reserveManagement){
+    public AjaxJson update(ReserveProcessProject reserveManagement) {
         AjaxJson j = new AjaxJson();
         /**
          * 后台hibernate-validation插件校验
@@ -207,6 +213,12 @@ public class ReserveProcessProjectController extends BaseController {
             j.setMsg(errMsg);
             return j;
         }
+        //修改前先进行判断
+        if (reserveManagement.getProcessStatus() == 1 || reserveManagement.getProcessStatus() == 2 ){
+            j.setSuccess(false);
+            j.setMsg("项目流程正在进行中或已完成,无法修改!");
+            return j;
+        }
         //新增或编辑表单保存
         projectService.update(reserveManagement);
         j.setSuccess(true);
@@ -248,7 +260,14 @@ public class ReserveProcessProjectController extends BaseController {
         AjaxJson j = new AjaxJson();
         String idArray[] =ids.split(",");
         for(String id : idArray){
-            projectService.delete(projectService.get(id));
+            try {
+                projectService.delete(projectService.get(id));
+            }catch (Exception e){
+                j.setSuccess(false);
+                j.setMsg("存在关联数据,无法删除!");
+                return j;
+            }
+
         }
         j.setMsg("删除储备项目基本信息成功");
         return j;
@@ -264,8 +283,10 @@ public class ReserveProcessProjectController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取数据库中已有的编码数据
+            List<String> proIdList = projectService.getAllProId();
             //获取导入表格所有数据
-            List<ReserveProcessProject> reserveManagementList = ReserveProcessProjectProUtil.getProjectUtil(importUtil);
+            List<ReserveProcessProject> reserveManagementList = ReserveProcessProjectProUtil.getProjectUtil(importUtil,proIdList);
             //查询已有的参数数据 并分类返回已存在数据和未存在数据
             Map map = projectService.getExistProjectList(reserveManagementList);
             //未存在数据

+ 8 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveSafeDisclosureController.java

@@ -181,8 +181,15 @@ public class ReserveSafeDisclosureController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = safeService.getAllProId();
+
+            //从基本数据表中查出所有的 项目储备编号
+            List<String> proIdList2 = safeService.getAllProId2();
+
             //获取导入表格所有数据
-            List<ReserveSafety> reserveManagementList = ReserveProcessProjectProUtil.getSafetyProjectUtil(importUtil);
+            List<ReserveSafety> reserveManagementList = ReserveProcessProjectProUtil.getSafetyProjectUtil(importUtil,proIdList,proIdList2);
             //查询已有的参数数据 并分类返回已存在数据和未存在数据
             Map map = safeService.getExistProjectList(reserveManagementList);
             //未存在数据

+ 127 - 9
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/SummaryStatisticController.java

@@ -8,9 +8,11 @@ import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.modules.act.service.ActProcessService;
 import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.CompanyReview;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummaryProcess;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.CompanyReviewService;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveSummaryProcessService;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.SummaryStatisticService;
@@ -50,6 +52,9 @@ import java.util.Map;
 public class SummaryStatisticController extends BaseController {
 
     @Autowired
+    private CompanyReviewService reviewService;
+
+    @Autowired
     private PersonnelTurnoverService service;
 
     @Autowired
@@ -96,8 +101,6 @@ public class SummaryStatisticController extends BaseController {
         return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation";
     }
 
-
-
     /**
      * 项目储备信息数据列表
      * @param reserveManagement
@@ -116,6 +119,19 @@ public class SummaryStatisticController extends BaseController {
         List<ReserveSummary> summaryList = new ArrayList<>();
         for (ReserveSummary summary : list) {
 
+            //设置  预算(含税)    预算(不含税)
+            if (StringUtils.isNotEmpty(summary.getAfterTrialEstimateAmount())){
+                summary.setBudgetIncludesTax(summary.getAfterTrialEstimateAmount());
+            }else {
+                summary.setBudgetIncludesTax(summary.getPretrialEstimateAmount());
+            }
+
+            if (StringUtils.isNotEmpty(summary.getAfterTrialEstimateAmountExcludeTax())){
+                summary.setBudgetIncludesTax(summary.getAfterTrialEstimateAmountExcludeTax());
+            }else {
+                summary.setBudgetIncludesTax(summary.getPretrialEstimateAmountExcludeTax());
+            }
+
             //根据projectReserveId查出流程表的proc_ins_id
             String procInsId = statisticService.getByProjectReserveId(summary.getProjectReserveId());
             //根据procInsId查出历史流程名称和时间
@@ -195,8 +211,88 @@ public class SummaryStatisticController extends BaseController {
             j.setMsg(errMsg);
             return j;
         }
-        //新增或编辑表单保存
-        statisticService.update(reserveManagement);
+        //修改时需要从  省公司评审表中查看是否可以发起流程
+        CompanyReview review = new CompanyReview();
+        review.setProjectReserveId(reserveManagement.getProjectReserveId());
+        CompanyReview companyReview = reviewService.queryByProjectReserveId(review);
+        if (companyReview == null){
+            //如果 流程状态是 进行中 还是 完成
+            int status = projectService.getProcessStatus(reserveManagement.getProjectReserveId());
+            if (status == 1 || status == 2){
+                j.setSuccess(false);
+                j.setMsg(reserveManagement.getProjectReserveId() + "项目流程正在进行中或已完成,无法修改!");
+                return j;
+            }
+            //去掉之前的流程,重新开始流程
+            reserveProcessService.deleteAct(reserveManagement.getProjectReserveId());
+
+            if (reserveManagement.getIncludeReserve().equals("是")){
+                //发起流程
+                ReserveSummaryProcess reserveProcess = new ReserveSummaryProcess();
+                reserveProcess.preInsert();
+                reserveProcess.setProjectReserveId(reserveManagement.getProjectReserveId());
+                //更新
+                reserveProcessService.insert(reserveProcess);
+                //发送流程,更改项目状态
+                Map<String, Object> vars = Maps.newHashMap();
+
+                ReserveProcessProject processProject = projectService.queryByProjectId(reserveManagement.getProjectReserveId());
+                //审核代理人
+                vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
+//                String procDefId = projectService.findDefId("cblc");
+                String procDefId = projectService.findDefId("cblcNew");
+                ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
+                String title = reserveManagement.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+                actTaskService.startProcess(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
+                //删除之前的甲供材数据
+//                reserveProcessService.deleteMaterial(processProject.getProjectName());
+                //修改基本信息表的 流程状态
+                projectService.updateProcessStatus(reserveManagement.getProjectReserveId(),1);
+            }
+            //新增或编辑表单保存
+            statisticService.update(reserveManagement);
+        }else if (companyReview.getPassProvincialCompanyReview().equals("取消") & reserveManagement.getIncludeReserve().equals("是")){
+            j.setSuccess(false);
+            j.setMsg(reserveManagement.getProjectReserveId() + "项目未通过省公司评审,无法发起流程!");
+            return j;
+        }else {
+            //如果 流程状态是 进行中 还是 完成
+            int status = projectService.getProcessStatus(reserveManagement.getProjectReserveId());
+            if (status == 1 || status == 2){
+                j.setSuccess(false);
+                j.setMsg(reserveManagement.getProjectReserveId() + "项目流程正在进行中或已完成,无法修改!");
+                return j;
+            }
+            //去掉之前的流程,重新开始流程
+            reserveProcessService.deleteAct(reserveManagement.getProjectReserveId());
+
+            if (reserveManagement.getIncludeReserve().equals("是")){
+                //发起流程
+                ReserveSummaryProcess reserveProcess = new ReserveSummaryProcess();
+                reserveProcess.preInsert();
+                reserveProcess.setProjectReserveId(reserveManagement.getProjectReserveId());
+                //更新
+                reserveProcessService.insert(reserveProcess);
+                //发送流程,更改项目状态
+                Map<String, Object> vars = Maps.newHashMap();
+
+                ReserveProcessProject processProject = projectService.queryByProjectId(reserveManagement.getProjectReserveId());
+                //审核代理人
+                vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
+//                String procDefId = projectService.findDefId("cblc");
+                String procDefId = projectService.findDefId("cblcNew");
+                ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
+                String title = reserveManagement.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+                actTaskService.startProcess(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
+                //删除之前的甲供材数据
+//                reserveProcessService.deleteMaterial(processProject.getProjectName());
+                //修改基本信息表的 流程状态
+                projectService.updateProcessStatus(reserveManagement.getProjectReserveId(),1);
+            }
+            //新增或编辑表单保存
+            statisticService.update(reserveManagement);
+        }
+
         j.setSuccess(true);
         j.setMsg("修改储备项目基本信息成功");
         return j;
@@ -253,8 +349,12 @@ public class SummaryStatisticController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //从库中查出所有的  项目储备编号
+            List<String> proIdList = statisticService.getAllProId();
+            //从基本数据表中,查出所有的  项目储备编号
+            List<String> proIdList2 = statisticService.getAllProId2();
             //获取导入表格所有数据
-            List<ReserveSummary> reserveManagementList = ReserveProcessProjectProUtil.getSummaryUtil(importUtil);
+            List<ReserveSummary> reserveManagementList = ReserveProcessProjectProUtil.getSummaryUtil(importUtil,proIdList,proIdList2);
             //查询已有的参数数据 并分类返回已存在数据和未存在数据
             Map map = statisticService.getExistProjectList(reserveManagementList);
             //未存在数据
@@ -281,12 +381,16 @@ public class SummaryStatisticController extends BaseController {
                         ReserveProcessProject processProject = projectService.queryByProjectId(s.getProjectReserveId());
                         //审核代理人
                         vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
-                        String procDefId = projectService.findDefId("cblc");
+//                        String procDefId = projectService.findDefId("cblc");
+                        String procDefId = projectService.findDefId("cblcNew");
                         ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
                         String title = s.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
                         actTaskService.startProcess(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
                         //删除之前的甲供材数据
-                        reserveProcessService.deleteMaterial(processProject.getProjectName());
+//                        reserveProcessService.deleteMaterial(processProject.getProjectName());
+
+                        //将历史的问题清空
+
                     }
                 }
             }
@@ -308,12 +412,13 @@ public class SummaryStatisticController extends BaseController {
 
                         ReserveProcessProject processProject = projectService.queryByProjectId(reserveManagement.getProjectReserveId());
                         vars.put("manager", UserUtils.getByUserName(processProject.getDesigner()).getLoginName());
-                        String procDefId = projectService.findDefId("cblc");
+//                        String procDefId = projectService.findDefId("cblc");
+                        String procDefId = projectService.findDefId("cblcNew");
                         ProcessDefinition p = actProcessService.getProcessDefinition(procDefId);
                         String title = reserveManagement.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
                         actTaskService.startProcessNew(p.getKey(), "cg_personnel_activiti", reserveProcess.getId(), title, vars);
                         //删除之前的甲供材数据
-                        reserveProcessService.deleteMaterial(processProject.getProjectName());
+//                        reserveProcessService.deleteMaterial(processProject.getProjectName());
                     }
                 }
             }
@@ -338,6 +443,19 @@ public class SummaryStatisticController extends BaseController {
         List<ReserveSummary> summaryList = new ArrayList<>();
         for (ReserveSummary summary : list) {
 
+            //设置  预算(含税)    预算(不含税)
+            if (StringUtils.isNotEmpty(summary.getAfterTrialEstimateAmount())){
+                summary.setBudgetIncludesTax(summary.getAfterTrialEstimateAmount());
+            }else {
+                summary.setBudgetIncludesTax(summary.getPretrialEstimateAmount());
+            }
+
+            if (StringUtils.isNotEmpty(summary.getAfterTrialEstimateAmountExcludeTax())){
+                summary.setBudgetIncludesTax(summary.getAfterTrialEstimateAmountExcludeTax());
+            }else {
+                summary.setBudgetIncludesTax(summary.getPretrialEstimateAmountExcludeTax());
+            }
+
             //根据projectReserveId查出流程表的proc_ins_id
             String procInsId = statisticService.getByProjectReserveId(summary.getProjectReserveId());
             //根据procInsId查出历史流程名称和时间

+ 19 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/EnginnerQueryMapper.java

@@ -4,6 +4,7 @@ import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -32,6 +33,24 @@ public interface EnginnerQueryMapper extends BaseMapper<EnginnerQuery> {
                                @Param("note")String note);
 
     /**
+     * 获取新建土建包封数据总和
+     * @return
+     */
+    Double getTJBFData();
+
+    /**
+     * 查出所有的 物料编码,扩展描述,总量信息
+     * @return
+     */
+    List<MaterialData> findAllCount();
+
+    /**
+     * 获取新建土建基础数据总和
+     * @return
+     */
+    Double getTJJCData();
+
+    /**
      * 根据projectReserveId查出proc_ins_id
      * @param projectReserveId
      * @return

+ 19 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/EnginnerQueryMapper.xml

@@ -116,4 +116,23 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getTJBFData"
+            resultType="java.lang.Double">
+        SELECT sum(totalCount) FROM `cg_material_data` WHERE materialCode = '乙供'
+        and extendDescription = '16+2孔,4×4+2,≤100kN,混凝土包封,必要时采用钢筋网'
+        or extendDescription =  '12+2孔,3×4+2,≤100kN,混凝土包封,必要时采用钢筋网'
+        or extendDescription =  '9+2孔,3×3+2,≤100kN,混凝土包封,必要时采用钢筋网'
+        or extendDescription =  '6+2孔,2×3+2,≤100kN,混凝土包封,必要时采用钢筋网'
+        or extendDescription =  '4+2孔,2×2+2,≤100kN,混凝土包封,必要时采用钢筋网'
+    </select>
+    <select id="getTJJCData" resultType="java.lang.Double">
+        SELECT sum(totalCount) FROM `cg_material_data` WHERE materialCode = '乙供'
+        and extendDescription = '钢筋混凝土基础(环网柜基础)'
+        or extendDescription =  '砖砌基础(分支箱基础)'
+        or extendDescription =  '钢筋混凝土基础(箱变基础)'
+    </select>
+    <select id="findAllCount"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
+        SELECT materialCode,extendDescription,totalCount FROM cg_material_data
+    </select>
 </mapper>

+ 25 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/EnginnerQueryService.java

@@ -4,6 +4,7 @@ import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.EnginnerQueryMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -23,6 +24,30 @@ public class EnginnerQueryService extends CrudService<EnginnerQueryMapper, Engin
     @Autowired
     private EnginnerQueryMapper queryMapper;
 
+    /**
+     * 查出所有的 物料编码,扩展描述,总量信息
+     * @return
+     */
+    public List<MaterialData> findAllCount(){
+        return queryMapper.findAllCount();
+    }
+
+    /**
+     * 获取新建土建基础数据总和
+     * @return
+     */
+    public Double getTJBFData(){
+        return queryMapper.getTJBFData();
+    }
+
+    /**
+     * 获取新建土建基础数据总和
+     * @return
+     */
+    public Double getTJJCData(){
+        return queryMapper.getTJJCData();
+    }
+
     public Page<EnginnerQuery> findPage(Page<EnginnerQuery> page, EnginnerQuery enginnerQuery) {
         Page<EnginnerQuery> pageList = super.findPage(page, enginnerQuery);
         return pageList;

+ 1 - 1
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/util/ExcelImportUtil.java

@@ -166,7 +166,7 @@ public class ExcelImportUtil {
     }
 
     public static String dateFormat(String time) throws ParseException {
-        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         Date parse = format.parse(time);
         String format1 = format.format(parse);
         return format1;

+ 13 - 4
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/BudgetStatsController.java

@@ -25,7 +25,10 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -80,7 +83,7 @@ public class BudgetStatsController extends BaseController {
     @ResponseBody
     @RequiresPermissions("cg:reservemanagementcenter:budgetStats:list")
     @RequestMapping(value = "list")
-    public Map<String, Object> basicData(BudgetStats budgetStats, HttpServletRequest request, HttpServletResponse response, Model model) {
+    public Map<String, Object> basicData(BudgetStats budgetStats, HttpServletRequest request, HttpServletResponse response, Model model) throws ParseException {
 
         Page<BudgetStats> page = statsService.findPage(new Page<BudgetStats>(request, response), budgetStats);
         List<BudgetStats> list = page.getList();
@@ -106,9 +109,15 @@ public class BudgetStatsController extends BaseController {
                     //根据他的完成时间来找下一个节点的信息
                     String strTime = his.get(0).getEndTime();
                     History history = statsService.getHistoryByTime(strTime,procInsId);
+                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                    String comTime = "";
+                    if (strTime!=null){
+                        Date parse = format.parse(strTime);
+                        comTime = format.format(parse);
+                    }
                     if (history == null){
                         stats.setBudgetRevision("无需修改");
-                        stats.setCompleteTime(strTime);
+                        stats.setCompleteTime(comTime);
                     }else {
                         //修改中的状态
                         if (history.getName().equals("设计单位查看错误原因")){
@@ -116,11 +125,11 @@ public class BudgetStatsController extends BaseController {
                             String endTime = historyByActName.get(0).getEndTime();
                             if (endTime == null){
                                 stats.setBudgetRevision("修改中");
-                                stats.setCompleteTime(strTime);
+                                stats.setCompleteTime(comTime);
                             }else {
                                 //未完成状态
                                 stats.setBudgetRevision("未完成");
-                                stats.setCompleteTime(strTime);
+                                stats.setCompleteTime(comTime);
                             }
                         }
                     }

+ 4 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/EnginnerQueryController.java

@@ -88,6 +88,8 @@ public class EnginnerQueryController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = queryService.getByExecuteId(procInsId);
                 query.setReserveProgress(name);
+            }else {
+                query.setReserveProgress("");
             }
             //设置立杆信息数据
             //根据物料编码查询物料总量
@@ -156,6 +158,8 @@ public class EnginnerQueryController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = queryService.getByExecuteId(procInsId);
                 query.setReserveProgress(name);
+            }else {
+                query.setReserveProgress("");
             }
             //设置立杆信息数据
             //根据物料编码查询物料总量

+ 4 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/NormativeAuditController.java

@@ -89,6 +89,8 @@ public class NormativeAuditController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = auditService.getByExecuteId(procInsId);
                 audit.setReserveProgress(name);
+            }else {
+                audit.setReserveProgress("");
             }
             //设置完整性校核相关值
             audit.setBlueprint(audit.getBlueprint() ==null ? "" : audit.getBlueprint());
@@ -139,6 +141,8 @@ public class NormativeAuditController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = auditService.getByExecuteId(procInsId);
                 audit.setReserveProgress(name);
+            }else {
+                audit.setReserveProgress("");
             }
             //设置完整性校核相关值
             audit.setBlueprint(audit.getBlueprint() ==null ? "" : audit.getBlueprint());

+ 64 - 29
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ProgressStatsController.java

@@ -8,7 +8,10 @@ import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.Reser
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
 import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.SummaryStatisticService;
-import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.*;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.History;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryComment;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.HistoryVarinst;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.ProgressStatsService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelExportUtil;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelImportUtil;
@@ -27,7 +30,10 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -84,7 +90,7 @@ public class ProgressStatsController extends BaseController {
     @ResponseBody
     @RequiresPermissions("cg:reservemanagementcenter:progressStats:list")
     @RequestMapping(value = "list")
-    public Map<String, Object> basicData(ProgressStats progressStats, HttpServletRequest request, HttpServletResponse response, Model model) {
+    public Map<String, Object> basicData(ProgressStats progressStats, HttpServletRequest request, HttpServletResponse response, Model model) throws ParseException {
 
         Page<ProgressStats> page = statsService.findPage(new Page<ProgressStats>(request, response), progressStats);
         List<ProgressStats> list = page.getList();
@@ -96,21 +102,21 @@ public class ProgressStatsController extends BaseController {
             stats = list.get(i);
             String procInsId = statsService.getByProjectReserveId(stats.getProjectReserveId());
             //设置是否纳入实施计划 及 初定实施批次 及是否纳入储备
-            ReserveSummary summary = new ReserveSummary();
-            summary.setProjectReserveId(stats.getProjectReserveId());
-            ReserveSummary reserveSummary = statisticService.queryByProjectReserveId(summary);
-            stats.setImplementPlan(reserveSummary.getImplementPlan());
-            stats.setInitialImplementBatch(reserveSummary.getInitialImplementBatch());
-            stats.setIncludeReserve(reserveSummary.getIncludeReserve());
-            //设置项目名称,储备项目类型,需求提出单位,储备批次,备注
-            ReserveProcessProject process = new ReserveProcessProject();
-            process.setProjectReserveId(stats.getProjectReserveId());
-            ReserveProcessProject project = projectService.queryByProjectReserveId(process);
-            stats.setProjectName(project.getProjectName());
-            stats.setRequirementType(project.getRequirementType());
-            stats.setDemandUnit(project.getDemandUnit());
-            stats.setReserveBatches(project.getReserveBatches());
-            stats.setBasicRemarks(project.getBasicRemarks());
+//            ReserveSummary summary = new ReserveSummary();
+//            summary.setProjectReserveId(stats.getProjectReserveId());
+//            ReserveSummary reserveSummary = statisticService.queryByProjectReserveId(summary);
+//            stats.setImplementPlan(reserveSummary.getImplementPlan());
+//            stats.setInitialImplementBatch(reserveSummary.getInitialImplementBatch());
+//            stats.setIncludeReserve(reserveSummary.getIncludeReserve());
+//            //设置项目名称,储备项目类型,需求提出单位,储备批次,备注
+//            ReserveProcessProject process = new ReserveProcessProject();
+//            process.setProjectReserveId(stats.getProjectReserveId());
+//            ReserveProcessProject project = projectService.queryByProjectReserveId(process);
+//            stats.setProjectName(project.getProjectName());
+//            stats.setRequirementType(project.getRequirementType());
+//            stats.setDemandUnit(project.getDemandUnit());
+//            stats.setReserveBatches(project.getReserveBatches());
+//            stats.setBasicRemarks(project.getBasicRemarks());
             //设置设计委托发出时间 及 是否发出设计委托
             //查看历史流程节点信息
             //根据procInsId查出历史流程名称和时间
@@ -153,7 +159,6 @@ public class ProgressStatsController extends BaseController {
                     }
                 }
 
-
                 //根据procInsId查出当前流程名称
                 String name = statsService.getByExecuteId(procInsId);
                 if (name == null){
@@ -164,15 +169,31 @@ public class ProgressStatsController extends BaseController {
                 }
                 //有流程的情况
                 String startTime = histories.get(histories.size() - 1).getStartTime();
+
+                //时间设置修改
+                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+                String comTime = "";
+                if (startTime!=null){
+                    Date parse = format.parse(startTime);
+                    comTime = format.format(parse);
+                }
+
                 stats.setDesignCommission("是");
-                stats.setDesignCommissionIssueTime(startTime);
+                stats.setDesignCommissionIssueTime(comTime);
                 //设置初设提交时间 及 是否完成初设
                 //根据节点名称查找
                 List<History> history = statsService.getHistoryByActName(procInsId, "设计单位上传施工图纸");
                 String endTime = history.get(history.size() - 1).getEndTime();
+
+                //时间修改设置
+                if (endTime!=null){
+                    Date parse = format.parse(endTime);
+                    comTime = format.format(parse);
+                }
+
                 if (endTime != null){
                     stats.setCompleteDesign("是");
-                    stats.setSubmitTime(endTime);
+                    stats.setSubmitTime(comTime);
                 }else {
                     stats.setCompleteDesign("否");
                     stats.setSubmitTime(null);
@@ -182,6 +203,13 @@ public class ProgressStatsController extends BaseController {
                 List<History> history02 = statsService.getHistoryByActName(procInsId, "联合审图配网项目经理审图");
                 if (history02.size()>0){
                     String endTime02 = history02.get(0).getEndTime();
+
+                    //时间修改设置
+                    if (endTime02!=null){
+                        Date parse = format.parse(endTime02);
+                        comTime = format.format(parse);
+                    }
+
                     //刚进入联合审图的情况
                     if (endTime02 == null){
                         stats.setCompleteDraw("");
@@ -198,13 +226,13 @@ public class ProgressStatsController extends BaseController {
                                 stats.setCompleteDraw("是");
                                 stats.setDrawAudit("是");
                                 stats.setReasonForFailure("");
-                                stats.setPassAuditDate(endTime02);
+                                stats.setPassAuditDate(comTime);
                             }else if (historyByTime.getName().equals("设计单位上传施工图纸")){
                                 //不通过
                                 stats.setCompleteDraw("否");
                                 stats.setDrawAudit("不通过");
                                 stats.setReasonForFailure(comment.getMessage());
-                                stats.setPassAuditDate(endTime02);
+                                stats.setPassAuditDate(comTime);
                             }
                         }else {
                             //还有一种是  取消、待定的情况  流程结束
@@ -214,11 +242,11 @@ public class ProgressStatsController extends BaseController {
                             if (byProcInstId.getName().equals("no")){
                                 stats.setDrawAudit("取消");
                                 stats.setReasonForFailure(comment.getMessage());
-                                stats.setPassAuditDate(endTime02);
+                                stats.setPassAuditDate(comTime);
                             }else if (byProcInstId.getName().equals("rural")){
                                 stats.setDrawAudit("待定");
                                 stats.setReasonForFailure(comment.getMessage());
-                                stats.setPassAuditDate(endTime02);
+                                stats.setPassAuditDate(comTime);
                             }
                         }
                     }
@@ -233,6 +261,13 @@ public class ProgressStatsController extends BaseController {
                 List<History> history03 = statsService.getHistoryByActName(procInsId, "技经人员审预算");
                 if (history03.size()>0){
                     String endTime03 = history03.get(0).getEndTime();
+
+                    //时间修改设置
+                    if (endTime03!=null){
+                        Date parse = format.parse(endTime03);
+                        comTime = format.format(parse);
+                    }
+
                     //刚进入审预算的情况
                     if (endTime03 == null){
                         stats.setCompleteReview("");
@@ -251,16 +286,16 @@ public class ProgressStatsController extends BaseController {
                             stats.setCompleteReview("是");
                             stats.setExpertReview("是");
                             stats.setEstimateReasonForFailure("");
-                            stats.setEstimatePassAuditDate(endTime03);
+                            stats.setEstimatePassAuditDate(comTime);
                             //设置图纸是否定稿,定稿日期
                             stats.setDrawingFinalize("是");
-                            stats.setFinalDate(endTime03);
+                            stats.setFinalDate(comTime);
                         }else {
                             //驳回的情况
                             stats.setCompleteReview("否");
                             stats.setExpertReview("否");
                             stats.setEstimateReasonForFailure(comment.getMessage());
-                            stats.setEstimatePassAuditDate(endTime03);
+                            stats.setEstimatePassAuditDate(comTime);
                             //设置图纸是否定稿,定稿日期
                             stats.setDrawingFinalize("否");
                             stats.setFinalDate("");
@@ -280,7 +315,7 @@ public class ProgressStatsController extends BaseController {
             statsList.add(stats);
         }
         page.setList(statsList);
-        System.out.println(list);
+//        System.out.println(list);
         return getBootstrapData(page);
     }
 
@@ -338,7 +373,7 @@ public class ProgressStatsController extends BaseController {
             ReserveSummary summary = new ReserveSummary();
             summary.setProjectReserveId(stats.getProjectReserveId());
             ReserveSummary reserveSummary = statisticService.queryByProjectReserveId(summary);
-            stats.setImplementPlan(reserveSummary.getImplementPlan());
+//            stats.setImplementPlan(reserveSummary.getImplementPlan());
             stats.setInitialImplementBatch(reserveSummary.getInitialImplementBatch());
             stats.setIncludeReserve(reserveSummary.getIncludeReserve());
             //设置项目名称,储备项目类型,需求提出单位,储备批次,备注

+ 4 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/SpecialSupplyController.java

@@ -89,6 +89,8 @@ public class SpecialSupplyController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = supplyService.getByExecuteId(procInsId);
                 supply.setReserveProgress(name);
+            }else {
+                supply.setReserveProgress("");
             }
             //设置20kv物资统计
             //设置高低压开关柜统计
@@ -139,6 +141,8 @@ public class SpecialSupplyController extends BaseController {
                 //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
                 String name = supplyService.getByExecuteId(procInsId);
                 supply.setReserveProgress(name);
+            }else {
+                supply.setReserveProgress("");
             }
             //设置20kv物资统计
             //设置高低压开关柜统计

二进制
src/main/resources/freemarker/excelmodel/companyReview.xlsx


二进制
src/main/resources/freemarker/excelmodel/electricityWork.xlsx


二进制
src/main/resources/freemarker/excelmodel/noPowerFailureSurveySheet.xlsx


二进制
src/main/resources/freemarker/excelmodel/powerFailureSurveySheet.xlsx


二进制
src/main/resources/freemarker/excelmodel/preconstruct.xlsx


二进制
src/main/resources/freemarker/excelmodel/summaryStatistics.xlsx


+ 188 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewForm.jsp

@@ -0,0 +1,188 @@
+<%@ 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 review = $("#passProvincialCompanyReview").val();
+
+			if (null==review||""==review){
+				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="companyReview" 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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class="">项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required" readonly="true"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false" class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<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" readonly="true"/>
+			</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="joinProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">省公司评审批次/日期:</label></td>
+			<td class="width-35">
+				<form:input path="batchOfProvincialCompany" 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="passProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">评审意见:</label></td>
+			<td class="width-35">
+				<form:input path="reviewComments" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需设计变更:</label></td>
+			<td class="width-35">
+				<form:input path="designChangeRequired" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="companyRemarks" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 304 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewInfo.js

@@ -0,0 +1,304 @@
+<%@ 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/companyReview/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},
+                    {"title":"储备项目基本信息","colspan":18,"halign":"center","align": "center",width: "3600px"},
+                    {"title":"省公司评审","colspan":6,"halign":"center","align": "center",width: "1200px"}
+                ],
+                    [
+                    {checkbox:true,width: 36},
+                        { field: 'projectYear', title: "项目年份", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectNature', title: "项目性质", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'demandUnit', title: "需求单位", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'district', title: "区域", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectGroup', title: "项目分组", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'reserveBatches', title: "储备批次", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1,
+                            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', title: "项目名称", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                        { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                        { field: 'substationName', title: "变电站名称", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'circuitName', title: "线路名称", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'netRackProjectDivide', title: "网架项目划分", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'requirementType', title: "需求类型", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'basicRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+
+                        { field: 'joinProvincialCompanyReview', title: "是否参加省公司评审", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'batchOfProvincialCompany', title: "省公司评审批次/日期", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'passProvincialCompanyReview', title: "是否通过省公司评审", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'reviewComments', title: "评审意见", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'designChangeRequired', title: "是否需设计变更", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'companyRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                    ],
+
+        ]
+    });
+
+
+    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/companyReview/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/companyReview/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"
+    });
+});
+
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
+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/companyReview/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/companyReview/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>

+ 107 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewInfo.jsp

@@ -0,0 +1,107 @@
+<%@ 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="companyReviewInfo.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;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3000px;
+		}
+	</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="review" 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:companyReview: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:companyReview: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:companyReview: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>

+ 186 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewModifyByzz.jsp

@@ -0,0 +1,186 @@
+<%@ 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 review = $("#passProvincialCompanyReview").val();
+			//
+			// if (null==review||""==review){
+			// 	jp.error("请填写是否通过省公司评审!");
+			// }
+
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/cg/reservemanagementcenter/companyReview/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="companyReview" 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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class="">项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required" readonly="true"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control" readonly="true"/>
+			</td>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false" class="form-control" readonly="true"/>
+			</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" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<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" readonly="true"/>
+			</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="joinProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">省公司评审批次/日期:</label></td>
+			<td class="width-35">
+				<form:input path="batchOfProvincialCompany" 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="passProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">评审意见:</label></td>
+			<td class="width-35">
+				<form:input path="reviewComments" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需设计变更:</label></td>
+			<td class="width-35">
+				<form:input path="designChangeRequired" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="companyRemarks" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 175 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/companyReview/companyReviewView.jsp

@@ -0,0 +1,175 @@
+<%@ 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="companyReview" 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="">项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class="">项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required" />
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control" />
+			</td>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control" />
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control" />
+			</td>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control" />
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" 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: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="joinProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">省公司评审批次/日期:</label></td>
+			<td class="width-35">
+				<form:input path="batchOfProvincialCompany" 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="passProvincialCompanyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">评审意见:</label></td>
+			<td class="width-35">
+				<form:input path="reviewComments" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需设计变更:</label></td>
+			<td class="width-35">
+				<form:input path="designChangeRequired" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="companyRemarks" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 69 - 186
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.js

@@ -79,192 +79,60 @@ $(document).ready(function () {
         },
         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 = "-";
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":21,width: "4200px"},
+                    {"title":"带电作业信息","colspan":10,width: "2000px"}
+                ],
+                [
+                    {checkbox:true,width: 36},
+                    {field:'projectYear',title: '项目年份',valign:"middle",align: "center"},
+                    {field:'projectNature',title: '项目性质',valign:"middle",align: "center"},
+                    {field:'demandUnit',title: '需求单位',valign:"middle",align: "center"},
+                    {field:'district',title: '区域',valign:"middle",align: "center"},
+                    {field:'projectGroup',title: '项目分组',valign:"middle",align: "center"},
+                    {field:'reserveBatches',title: '储备批次',valign:"middle",align: "center"},
+                    {field:'blockSupply',title: '供电区域',valign:"middle",align: "center"},
+                    {field:'gridNumber',title: '网格编号',valign:"middle",align: "center"},
+                    {field:'cellNumber',title: '单元格编号',valign:"middle",align: "center"},
+                    {field:'projectReserveId',title: '项目储备编号',valign:"middle",align: "center",
+                        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>
                         }
-                    <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>查勘人',
-                },
+                    },
+                    {field:'projectName',title: '项目名称',formatter:paramsMatter},
+                    {field:'constructionNecessityAndContent',title: '建设必要性及内容',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'substationName',title: '变电站名称',valign:"middle",align: "center"},
+                    {field:'circuitName',title: '线路名称',valign:"middle",align: "center"},
+                    {field:'netRackProjectDivide',title: '网架项目划分',valign:"middle",align: "center"},
+                    {field:'requirementType',title: '需求类型',valign:"middle",align: "center"},
+                    {field:'costEstimate',title: '费用估算',valign:"middle",align: "center"},
+                    {field:'basicRemarks',title: '备注',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'reserveProgress',title: '储备进度',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'implementPlan',title: '是否纳入实施计划',valign:"middle",align: "center"},
+                    {field:'implementBatch',title: '初定实施批次',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'projectType',title: '项目类型',valign:"middle",align: "center"},
+                    {field:'hotLineWork',title: '是否含带电作业',valign:"middle",align: "center"},
+                    {field:'boundarySwitchNum',title: '用户分界开关数量',valign:"middle",align: "center"},
+                    {field:'hotLineWorkTypeNo',title: '带电作业类型编号/次数',valign:"middle",align: "center"},
+                    {field:'noStopWorkPlan',title: '不停电作业方案',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'powerFailureNum',title: '节约停电时户数',valign:"middle",align: "center"},
+                    {field:'reasonsForNotWorkInterruption',title: '无法不停电作业原因',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'powerOutagePlan',title: '停电作业方案',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'planner',title: '方案编制人',valign:"middle",align: "center"},
+                    {field:'siteSurveyor',title: '现场查勘人',valign:"middle",align: "center"},
+                ]
         ]
     });
 
@@ -276,7 +144,7 @@ $(document).ready(function () {
     $('#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);
+        $('#view,#edit,#jlEdit,#svrExport').prop('disabled', $('#projectTable').bootstrapTable('getSelections').length != 1);
     });
 
     $("#btnImport").click(function () {
@@ -362,6 +230,14 @@ $(document).ready(function () {
     });
 });
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
 function getIdSelections() {
     return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
         return row.id
@@ -386,6 +262,13 @@ function edit(id) {//没有权限时,不显示确定按钮
     jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/form?id=" + id, '800px', '500px');
 }
 
+function svrExport(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.downloadFile( "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/svrExport?id=" + id, '800px', '500px');
+}
+
 function jlEdit(id) {//没有权限时,不显示确定按钮
     if (id == undefined) {
         id = getIdSelections();

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

@@ -18,6 +18,15 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3200px;
 		}
 	</style>
 </head>
@@ -87,6 +96,13 @@
 					<i class="fa fa-file-excel-o"></i> 导出
 				</button>
 			</shiro:hasPermission>
+
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:svrExport">
+				<button id="svrExport" class="btn btn-warning" onclick="svrExport()">
+					<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>

+ 59 - 81
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz.jsp

@@ -16,28 +16,22 @@
 		    });
 		});
 		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 dianWork = $("#hotLineWork").val();
+			var workTypeNo = $("#hotLineWorkTypeNo").val();
 			var noDianWork = $("#noStopWorkPlan").val();
+			var failureNum = $("#powerFailureNum").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("请填写带电作业次数!")
+			if (null==dianWork||""==dianWork){
+				jp.error("请选择是否带电作业!")
+			}else if (dianWork=='是' & (null==workTypeNo||workTypeNo=='')){
+				jp.error("请填写带电作业类型编号/次数!")
+			}else if (dianWork=='是' &(null==failureNum || failureNum =='')){
+				jp.error("请填写节约停电时户数!")
 			}else if (dianWork=='是' &(null==noDianWork || noDianWork =='')){
 				jp.error("请填写不停电作业方案!")
 			}
@@ -47,7 +41,6 @@
 				jp.error("请填写现场查勘人!")
 			}
 
-
 		    else {
                 var isValidate = jp.validateForm('#inputForm');//校验表单
                 if(!isValidate){
@@ -81,163 +74,148 @@
 		<tr>
 			<td class="width-15 active"><label class="">项目年份:</label></td>
 			<td class="width-35">
-				<form:input path="projectYear" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="projectYear" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">项目性质:</label></td>
 			<td class="width-35">
-				<form:input path="projectNature" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="projectNature" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">需求单位:</label></td>
 			<td class="width-35">
-				<form:input path="demandUnit" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
-		</tr>
-		<tr>
 			<td class="width-15 active"><label class="">区域:</label></td>
 			<td class="width-35">
-				<form:input path="district" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="district" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
+		</tr>
+		<tr>
 			<td class="width-15 active"><label class="">项目分组:</label></td>
 			<td class="width-35">
-				<form:input path="projectGroup" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
-		</tr>
-		<tr>
 			<td class="width-15 active"><label class="">储备批次:</label></td>
 			<td class="width-35">
-				<form:input path="reserveBatches" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
+		</tr>
+		<tr>
 			<td class="width-15 active"><label class="">供电区域:</label></td>
 			<td class="width-35">
-				<form:input path="blockSupply" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control" readonly="true"/>
 			</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"  readonly="true"  class="form-control"/>
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control" readonly="true"/>
 			</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"  readonly="true"  class="form-control"/>
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control" readonly="true"/>
 			</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"  readonly="true"  class="form-control required"/>
+				<form:input path="projectName" htmlEscape="false"    class="form-control required" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
 			<td class="width-35">
-				<form:input path="constructionNecessityAndContent" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">变电站名称:</label></td>
 			<td class="width-35">
-				<form:input path="substationName" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="substationName" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">线路名称:</label></td>
 			<td class="width-35">
-				<form:input path="circuitName" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="circuitName" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">网架项目划分:</label></td>
 			<td class="width-35">
-				<form:input path="netRackProjectDivide" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">需求类型:</label></td>
 			<td class="width-35">
-				<form:input path="requirementType" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="requirementType" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">费用估算:</label></td>
 			<td class="width-35">
-				<form:input path="costEstimate" htmlEscape="false"  readonly="true"  class="form-control number money"/>
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">备注:</label></td>
 			<td class="width-35">
-				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200"  readonly="true"  class="form-control"/>
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">储备进度:</label></td>
 			<td class="width-35">
-				<form:input path="reserveProgress" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control" readonly="true"/>
 			</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>
-		<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>
-			<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-15 active"><label class="">初定实施批次:</label></td>
 			<td class="width-35">
-				<form:input path="teansFormerOrPackageProject" htmlEscape="false" class="form-control"/>
-			</td>
-			<td class="width-15 active"><label class="">是否打包项目:</label></td>
-			<td class="width-35">
-				<form:input path="packageProject" htmlEscape="false" class="form-control"/>
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">打包项目设备数量:</label></td>
+			<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="packageItemQuantity" htmlEscape="false" class="form-control"/>
+				<form:input path="projectType" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">设备名称:</label></td>
+			<td class="width-15 active"><label class="">是否含带电作业:</label></td>
 			<td class="width-35">
-				<form:input path="deviceName" htmlEscape="false" class="form-control"/>
+				<select id="hotLineWork" name="hotLineWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.hotLineWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.hotLineWork=='否'}">selected</c:if>>否</option>
+				</select>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class=""><font color="red">*</font>是否带电作业:</label></td>
+			<td class="width-15 active"><label class="">用户分界开关数量:</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"/>--%>
+				<form:input path="boundarySwitchNum" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">带电作业类型编号:</label></td>
+			<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>
+				<form:input path="hotLineWorkTypeNo" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">带电作业次数:</label></td>
-			<td class="width-35">
-				<form:input path="electricityWorkNumber" htmlEscape="false" class="form-control"/>
-			</td>
 			<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="powerFailureNum" htmlEscape="false" class="form-control"/>
+			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">无法不停电作业原因:</label></td>

+ 29 - 48
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementView.jsp

@@ -56,43 +56,42 @@
 			<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>
+		</tr>
+		<tr>
 			<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>
+		</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>
-		</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>
+		</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>
-		</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"/>
+				<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">
@@ -133,10 +132,6 @@
 				<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">
@@ -144,56 +139,38 @@
 			</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"/>
+				<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="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"/>
+				<form:input path="implementBatch" 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>
+			<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-15 active"><label class="">项目类型:</label></td>
 			<td class="width-35">
-				<form:input path="deviceName" htmlEscape="false" class="form-control"/>
+				<form:input path="projectType" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class=""><font color="red">*</font>是否带电作业:</label></td>
+			<td class="width-15 active"><label class="">是否带电作业:</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"/>--%>
+				<form:input path="hotLineWork" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
+
 		<tr>
-			<td class="width-15 active"><label class="">带电作业类型编号:</label></td>
+			<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>
+				<form:input path="boundarySwitchNum" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">带电作业次数:</label></td>
+			<td class="width-15 active"><label class="">带电作业类型编号/次数:</label></td>
 			<td class="width-35">
-				<form:input path="electricityWorkNumber" htmlEscape="false" class="form-control"/>
+				<form:input path="hotLineWorkTypeNo" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
@@ -201,22 +178,26 @@
 			<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-15 active"><label class="">节约停电时户数:</label></td>
 			<td class="width-35">
-				<form:input path="reasonsForNotWorkInterruption" htmlEscape="false" class="form-control"/>
+				<form:input path="powerFailureNum" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
+			<td class="width-15 active"><label class="">无法不停电作业原因:</label></td>
+			<td class="width-35">
+				<form:input path="reasonsForNotWorkInterruption" htmlEscape="false" class="form-control"/>
+			</td>
 			<td class="width-15 active"><label class="">停电作业方案:</label></td>
 			<td class="width-35">
 				<form:input path="powerOutagePlan" 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="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"/>

+ 66 - 9
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.js

@@ -79,12 +79,62 @@ $(document).ready(function () {
         },
         columns:
             [
-                {
-                    checkbox: true,
-                    width:36,
-
-                },
-                {
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":18,width: "3600px"},
+                    {"title":"储备人员流转信息","colspan":10,width: "2000px"}],
+                [
+                    {checkbox:true,width: 36},
+                    {field:'projectYear',title: '项目年份',valign:"middle",align: "center"},
+                    {field:'projectNature',title: '项目性质',valign:"middle",align: "center"},
+                    {field:'demandUnit',title: '需求单位',valign:"middle",align: "center"},
+                    {field:'district',title: '区域',valign:"middle",align: "center"},
+                    {field:'projectGroup',title: '项目分组',valign:"middle",align: "center"},
+                    {field:'reserveBatches',title: '储备批次',valign:"middle",align: "center"},
+                    {field:'blockSupply',title: '供电区域',valign:"middle",align: "center"},
+                    {field:'gridNumber',title: '网格编号',valign:"middle",align: "center"},
+                    {field:'cellNumber',title: '单元格编号',valign:"middle",align: "center"},
+                    {field:'projectReserveId',title: '项目储备编号',valign:"middle",align: "center",
+                        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',title: '项目名称',formatter:paramsMatter},
+                    {field:'constructionNecessityAndContent',title: '建设必要性及内容',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'substationName',title: '变电站名称',valign:"middle",align: "center"},
+                    {field:'circuitName',title: '线路名称',valign:"middle",align: "center"},
+                    {field:'netRackProjectDivide',title: '网架项目划分',valign:"middle",align: "center"},
+                    {field:'requirementType',title: '需求类型',valign:"middle",align: "center"},
+                    {field:'costEstimate',title: '费用估算',valign:"middle",align: "center"},
+                    {field:'basicRemarks',title: '备注',valign:"middle",align: "center",formatter:paramsMatter},
+                    {field:'requester',title: '需求提报人',valign:"middle",align: "center"},
+                    {field:'ownerReserveFullTime',title: '业主储备专职',valign:"middle",align: "center"},
+                    {field:'ownerDistributionNerworkFullTime',title: '业主配网专职',valign:"middle",align: "center"},
+                    {field:'ownerProjectManager',title: '业主项目经理',valign:"middle",align: "center"},
+                    {field:'materialSoleDuty',title: '业主物资专职',valign:"middle",align: "center"},
+                    {field:'technicalStaff',title: '技经人员',valign:"middle",align: "center"},
+                    {field:'operationAndMaintenancePersonnel',title: '运维人员',valign:"middle",align: "center"},
+                    {field:'designer',title: '设计人员',valign:"middle",align: "center"},
+                    {field:'budgetPreparer',title: '概算编制人员',valign:"middle",align: "center"},
+                    {field:'uninterruptedWorkSurveyPersonnel',title: '不停电作业查勘人员',valign:"middle",align: "center"}
+                ]
+                // {
+                //     checkbox: true,
+                //     width:36,
+                //
+                // },
+                /*{
                     field: 'projectYear',
                     width: 65,
                     title: '项目</br>年份',
@@ -204,7 +254,7 @@ $(document).ready(function () {
                     title: '业主配网</br>专职',
 
                 },
-                /*设计及评审情况*/
+                /!*设计及评审情况*!/
                 {
                     field: 'ownerProjectManager',
                     width:80,
@@ -239,7 +289,7 @@ $(document).ready(function () {
                     field: 'uninterruptedWorkSurveyPersonnel',
                     width:80,
                     title: '不停电</br>作业</br>查勘人员',
-                },
+                },*/
         ]
     });
 
@@ -342,7 +392,13 @@ function getIdSelections() {
         return row.id
     });
 }
-
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
 
 //刷新列表
 function refresh() {
@@ -407,3 +463,4 @@ function changeDateFormat(cellval) {
 }
 
 </script>
+

+ 26 - 2
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.jsp

@@ -11,13 +11,37 @@
 	<style type="text/css">
 		.table {
 			table-layout: fixed;
-			word-break: break-all;
+			/*word-break: break-all;*/
 			word-wrap: break-word;
 			text-align: center;
 		}
-		.table th, .table td {
+		.table th{
+			text-align: center;
+			/*vertical-align: middle !important;*/
+		}
+		.table td{
 			text-align: center;
 			vertical-align: middle !important;
+			width: 100%;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		/*.table th, .table td {*/
+		/*	text-align: center;*/
+		/*	vertical-align: middle !important;*/
+		/*	!*width: 200px;*!*/
+		/*	!*white-space: nowrap;*!*/
+		/*}*/
+		.fixed-table-container table {
+			/*width: auto;*/
+			table-layout: fixed;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3000px;
 		}
 	</style>
 </head>

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

@@ -180,7 +180,7 @@
 		<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"/>
+				<form:input path="uninterruptedWorkSurveyPersonnel" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		</tbody>

+ 4 - 9
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementForm.jsp

@@ -210,20 +210,15 @@
 					<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-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>
+				<form:input path="castInPlaceList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-15 active"><label class="">预制化清单:</label></td>
 			<td class="width-35">
-				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="designList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 

+ 58 - 160
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.js

@@ -79,167 +79,57 @@ $(document).ready(function () {
         },
         columns:
             [
-                {
-                    checkbox: true,
-                    width:36,
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":21,"halign":"center","align": "center",width: "4200px"},
+                    {"title":"交底预制化信息","colspan":3,"halign":"center","align": "center",width: "600px"},
+                    {"title":"设计预制化信息","colspan":3,"halign":"center","align": "center",width: "600px"}
+                ],
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'projectYear', title: "项目年份", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'projectNature', title: "项目性质", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'demandUnit', title: "需求单位", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'district', title: "区域", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'projectGroup', title: "项目分组", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'reserveBatches', title: "储备批次", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1,
+                        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', title: "项目名称", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                    { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                    { field: 'substationName', title: "变电站名称", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'circuitName', title: "线路名称", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'netRackProjectDivide', title: "网架项目划分", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'requirementType', title: "需求类型", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'basicRemarks', title: "备注", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                    { field: 'reserveProgress', title: "储备进度", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'implementPlan', title: "是否纳入实施计划", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'implementBatch', title: "初定实施批次", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'confessCivilFoundation', title: "是否含新建土建基础/包封", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'confessPrefab', title: "是否预制化", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'confessPrefabDescription', title: "预制化描述", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                    { field: 'designCivilFoundation', title: "是否含新建土建基础/包封", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'castInPlaceList', title: "现场浇筑清单", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'designList', title: "预制化清单", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter}
+                ],
 
-                },
-                {
-                    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>化描述',
-
-                },
 
         ]
     });
@@ -338,6 +228,14 @@ $(document).ready(function () {
     });
 });
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
 function getIdSelections() {
     return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
         return row.id

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

@@ -18,7 +18,20 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
 		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3000px;
+		}
+		/*.fixed-table-container table {*/
+		/*	width: auto;*/
+		/*	table-layout: fixed;*/
+		/*}*/
 	</style>
 </head>
 <body>

+ 5 - 10
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByzz.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>修改带电作业信息</title>
+	<title>修改土建预制化信息</title>
 	<meta name="decorator" content="ani"/>
 	<script type="text/javascript">
 
@@ -218,20 +218,15 @@
 					<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-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>
+				<form:input path="castInPlaceList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-15 active"><label class="">预制化清单:</label></td>
 			<td class="width-35">
-				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="designList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 

+ 7 - 12
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementView.jsp

@@ -90,7 +90,7 @@
 		<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"/>
+				<form:input path="projectReserveId" htmlEscape="false" class="form-control required"/>
 			</td>
 		</tr>
 		<tr>
@@ -141,13 +141,13 @@
 			</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"/>
+				<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="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+				<form:input path="implementBatch" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
@@ -190,20 +190,15 @@
 					<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-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>
+				<form:input path="castInPlaceList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-15 active"><label class="">预制化清单:</label></td>
 			<td class="width-35">
-				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="designList" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 

+ 91 - 250
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.js

@@ -79,256 +79,89 @@ $(document).ready(function () {
         },
         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: 'workDescribe',
-                    width:120,
-                    title: '输电线路作业</br>(含土建)-描述',
-
-                },
-                {
-                    field: 'transmissionErection',
-                    width:100,
-                    title: '是否与</br>输电线路</br>同杆架设',
-
-                },
-                {
-                    field: 'erecteDescribe',
-                    width:120,
-                    title: '输电线路</br>同杆架设-描述',
-
-                },
-                {
-                    field: 'transmissionCommonTrench',
-                    width:80,
-                    title: '是否与</br>输电线</br>路共沟',
-
-                },{
-                    field: 'trenchDescribe',
-                    width:120,
-                    title: '输电线路共沟-描述',
-
-                },
-                {
-                    field: 'mediumVoltageWork',
-                    width:80,
-                    title: '是否临近</br>带电中压</br>线路作业',
-
-                },{
-                    field: 'voltageWorkDescribe',
-                    width:120,
-                    title: '带电中压</br>线路作业-描述',
-
-                },
-                {
-                    field: 'confineSpaceWork',
-                    width:80,
-                    title: '是否有</br>限空间</br>作业',
-
-                },{
-                    field: 'spaceDescribe',
-                    width:120,
-                    title: '有限空间</br>作业-描述',
-
-                },
-                {
-                    field: 'subStationCableBonding',
-                    width:80,
-                    title: '是否存在</br>变电站</br>出线电缆</br>搭接-是',
-
-                },{
-                    field: 'cableDescribe',
-                    width:120,
-                    title: '变电站</br>出线电缆</br>搭接-描述',
-
-                },
-                {
-                    field: 'roadRailwaysAndWaterwaysWork',
-                    width:80,
-                    title: '是否存在</br>跨越公路、</br>铁路、航道</br>作业',
-                },
-                {
-                    field: 'waterDescribe',
-                    width:120,
-                    title: '跨越公路</br>铁路、航道</br>作业-描述',
-
-                },
-                {
-                    field: 'hotWork',
-                    width:80,
-                    title: '是否存在</br>动火作业',
-                },{
-                    field: 'hotWorkDescribe',
-                    width:120,
-                    title: '动火作业-描述',
-
-                },
-                {
-                    field: 'blackoutLineFour',
-                    width:80,
-                    title: '是否需</br>停电四条</br>以上线路',
-                },
-                {
-                    field: 'lineFourDescribe',
-                    width:120,
-                    title: '需停电四条</br>以上线路-描述',
-
-                },
-                {
-                    field: 'lineLoadRedirectionThree',
-                    width:80,
-                    title: '是否</br>三条以上</br>线路</br>负荷改接',
-                },
-                {
-                    field: 'threeRedirectDescribe',
-                    width:120,
-                    title: '三条以上线路</br>负荷改接-描述',
-
-                },
-                {
-                    field: 'largeScaleMultiTeamWork',
-                    width:80,
-                    title: '是否</br>多专业、</br>多班组</br>大型作业',
-                },
-                {
-                    field: 'teamWorkDescribe',
-                    width:120,
-                    title: '多专业、多班组</br>大型作业-描述',
-
-                },
-                {
-                    field: 'prepareThreeMeasures',
-                    width:80,
-                    title: '是否需</br>编制三措',
-                },{
-                    field: 'measureDescribe',
-                    width:120,
-                    title: '需编制三措</br>大型作业-描述',
-
-                },
-                {
-                    field: 'jobRiskLevelPrediction',
-                    width:80,
-                    title: '作业</br>风险等级</br>预判',
-                },
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":19,"halign":"center","align": "center",width: "3800px"},
+                    {"title":"安全隐患排查","colspan":25,"halign":"center","align": "center",width: "5000px"}
+                ],
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'projectYear', title: "项目年份", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'projectNature', title: "项目性质", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'demandUnit', title: "需求单位", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'district', title: "区域", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'projectGroup', title: "项目分组", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'reserveBatches', title: "储备批次", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1, rowspan: 2,
+                        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', title: "项目名称", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'substationName', title: "变电站名称", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'circuitName', title: "线路名称", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'netRackProjectDivide', title: "网架项目划分", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'requirementType', title: "需求类型", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'basicRemarks', title: "备注", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'reserveProgress', title: "储备进度", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { title: "是否临近(交叉)输电线路作业(含土建)", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否与输电线路同杆架设", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否与输电线路共沟", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否临近带电中压线路作业", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否有限空间作业", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否存在变电站出线电缆搭接-是", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否存在跨越公路、铁路、航道作业", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否存在动火作业", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否需停电四条以上线路", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否三条以上线路负荷改接", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否多专业、多班组大型作业", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { title: "是否需编制三措", valign:"middle", align:"center", colspan: 2, rowspan: 1 },
+                    { field: 'jobRiskLevelPrediction', title: "作业风险等级预判", valign:"middle", align:"center", colspan: 1, rowspan: 2 }
+                    ],
+
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'transmissionWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'workDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'transmissionErection', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'erecteDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'transmissionCommonTrench', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'trenchDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'mediumVoltageWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'voltageWorkDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'confineSpaceWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'spaceDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'subStationCableBonding', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'cableDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'roadRailwaysAndWaterwaysWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'waterDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'hotWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'hotWorkDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'blackoutLineFour', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'lineFourDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'lineLoadRedirectionThree', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'threeRedirectDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'largeScaleMultiTeamWork', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'teamWorkDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter},
+                    { field: 'prepareThreeMeasures', title: '是/否', valign:"middle", align:"center" },
+                    { field: 'measureDescribe', title: '描述', valign:"middle", align:"center" ,formatter:paramsMatter}
+
+                    ]
 
         ]
     });
@@ -427,6 +260,14 @@ $(document).ready(function () {
     });
 });
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
 function getIdSelections() {
     return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
         return row.id

+ 11 - 1
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.jsp

@@ -18,6 +18,15 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3500px;
 		}
 	</style>
 </head>
@@ -89,7 +98,8 @@
 			</shiro:hasPermission>
 		    </div>
 	<!-- 表格 -->
-	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+<%--		style="table-layout:fixed" class="table"--%>
+	<table id="projectTable"  data-toolbar="#toolbar"></table>
 
 	</div>
 	</div>

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

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>修改带电作业信息</title>
+	<title>修改安全交底信息</title>
 	<meta name="decorator" content="ani"/>
 	<script type="text/javascript">
 

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

@@ -90,7 +90,7 @@
 		<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"/>
+				<form:input path="projectReserveId" htmlEscape="false" class="form-control required"/>
 			</td>
 		</tr>
 		<tr>

+ 356 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview.js

@@ -0,0 +1,356 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+	<script>
+	$(document).ready(function() {
+		$('#testPicTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: false,
+			//显示刷新按钮
+			showRefresh: false,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber:1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/cg/reservemanagementcenter/process/allUploadData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			//queryParamsType:'',
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams : function(params) {
+				var searchParam = $("#inputForm").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){
+			},
+			onClickRow: function(row, $el){
+			},
+			onShowSearch: function () {
+
+			},
+			columns: [
+				{
+					field: 'budgetStatement',
+					title: '预算书',
+					formatter:function(value, row , index){
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+				}, {
+					field: 'projectProposal',
+					title: '项目建议书',
+					formatter:function(value, row , index){
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+
+				}, {
+					field: 'drawings',
+					title: '图纸',
+					formatter:function(value, row , index){
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+
+				}, {
+					field: 'drawingSpecification',
+					title: '施工图设计说明书',
+					formatter:function(value, row , index){
+						console.log(value);
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+				}, {
+					field: 'demolition',
+					title: '拆旧清册',
+					formatter:function(value, row , index){
+						console.log(value);
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+				}, {
+					field: 'approvalForm',
+					title: '土建现浇审批单',
+					formatter:function(value, row , index){
+						console.log(value);
+						if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					}
+				}
+			]
+		});
+
+		$('#dataTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: false,
+			//显示刷新按钮
+			showRefresh: true,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: true,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber:1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/cg/reservemanagementcenter/process/materialData",
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			//queryParamsType:'',
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams : function(params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.projectName = $("#projectName").val();
+				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){
+			},
+			onClickRow: function(row, $el){
+			},
+			onLoadSuccess: function () {  //加载成功时执行
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			columns: [
+				/*{
+                    field: 'projectName',
+                    width:230,
+                    title: '项目名称'
+                }*/
+				{
+					field: 'materialCode',
+					width:100,
+					title: '物料编码'
+				}
+				,{
+					field: 'materialName',
+					width:200,
+					title: '物料名称'
+				}
+				,{
+					field: 'extendDescription',
+					width:200,
+					title: '扩展描述'
+				}
+				,{
+					field: 'unit',
+					width:60,
+					title: '单位'
+				}
+				,{
+					field: 'totalCount',
+					width:60,
+					title: '总量'
+				}
+				,{
+					field: 'weightKg',
+					width:80,
+					title: '单重/kg'
+				}
+				,{
+					field: 'weightTon',
+					width:80,
+					title: '总重/吨'
+				}
+				,{
+					field: 'supplyType',
+					width:80,
+					title: '甲乙供'
+				}
+			]
+
+		})
+
+
+		if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+
+			$('#testPicTable').bootstrapTable("toggleView");
+		}
+
+		$('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+			'check-all.bs.table uncheck-all.bs.table', function () {
+			$('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+			$('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+		});
+
+		$("#export").click(function(){//导出甲供材清册
+			var projectName = $("#projectName").val();
+			jp.downloadFile('${ctx}/cg/reservemanagementcenter/process/exportAct?projectName=' + projectName);
+		});
+
+
+
+		$("#search").click("click", function() {// 绑定查询按扭
+			$('#testPicTable').bootstrapTable('refresh');
+		});
+
+		$("#reset").click("click", function() {// 绑定查询按扭
+			$("#searchForm  input").val("");
+			$("#searchForm  select").val("");
+			$("#searchForm  .select-item").html("");
+			$('#testPicTable').bootstrapTable('refresh');
+		});
+
+
+
+
+	});
+
+function getIdSelections() {
+	return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+		return row.id
+	});
+}
+
+function deleteAll(){
+	jp.confirm('确认要删除该图片管理记录吗?', function(){
+		jp.loading();
+		jp.get("${ctx}/managementcenter/upload/delete?ids=" + getIdSelections(), function(data){
+			if(data.success){
+				$('#testPicTable').bootstrapTable('refresh');
+				jp.success(data.msg);
+			}else{
+				jp.error(data.msg);
+			}
+		})
+
+	})
+}
+
+//刷新列表
+function refresh(){
+	$('#testPicTable').bootstrapTable('refresh');
+}
+
+
+
+
+</script>

+ 34 - 50
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/budgetReview.jsp

@@ -4,6 +4,9 @@
 <head>
     <title>技经人员审预算</title>
     <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp"%>
+    <%@ include file="/webpage/include/treeview.jsp" %>
+    <%@ include file="budgetReview.js"%>
     <script type="text/javascript">
 
         $(document).ready(function () {
@@ -134,116 +137,91 @@
                             <tr>
                                 <td class="width-15 active"><label class="">项目年份:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.projectYear" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.projectYear" htmlEscape="false" readonly="true"  class="form-control"/>
                                 </td>
                                 <td class="width-15 active"><label class="">项目性质:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.projectNature" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.projectNature" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                             </tr>
                             <tr>
                                 <td class="width-15 active"><label class="">需求单位:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.demandUnit" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.demandUnit" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                                 <td class="width-15 active"><label class="">区域:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.district" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.district" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                             </tr>
                             <tr>
                                 <td class="width-15 active"><label class="">项目分组:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.projectGroup" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.projectGroup" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                                 <td class="width-15 active"><label class="">储备批次:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.reserveBatches" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.reserveBatches" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                             </tr>
                             <tr>
                                 <td class="width-15 active"><label class="">供电区域:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.blockSupply" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.blockSupply" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                                 <td class="width-15 active"><label class="">网格编号:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.gridNumber" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.gridNumber" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                             </tr>
                             <tr>
                                 <td class="width-15 active"><label class="">单元格编号:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.cellNumber" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.cellNumber" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
                                 <td class="width-15 active"><label class="">项目储备编号:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.projectReserveId" htmlEscape="false"
-                                                readonly="true" class="form-control"/>
+                                    <form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
                                 </td>
                             </tr>
                             <tr>
-                                <td class="width-15 active"><label class="">项目储备编号:</label></td>
-                                <td class="width-35">
-                                    <form:input path="projectReserveId" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
-                                </td>
                                 <td class="width-15 active"><label class="">项目名称:</label></td>
                                 <td class="width-35">
-                                    <form:input path="projectName" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control"/>
                                 </td>
-                            </tr>
-                            <tr>
                                 <td class="width-15 active"><label class="">建设必要性及内容:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"
-                                                readonly="true" class="form-control"/>
+                                    <form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
+                            </tr>
+                            <tr>
                                 <td class="width-15 active"><label class="">变电站名称:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.substationName" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.substationName" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
-                            </tr>
-                            <tr>
                                 <td class="width-15 active"><label class="">线路名称:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.circuitName" htmlEscape="false" readonly="true"
-                                                class="form-control"/>
+                                    <form:input path="reserveSummary.circuitName" htmlEscape="false"    readonly="true"  class="form-control"/>
                                 </td>
+                            </tr>
+                            <tr>
                                 <td class="width-15 active"><label class="">网架项目划分:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false"
-                                                readonly="true" class="form-control number money"/>
+                                    <form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false" readonly="true"    class="form-control number money"/>
                                 </td>
-                            </tr>
-                            <tr>
                                 <td class="width-15 active"><label class="">需求类型:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"
-                                                class="form-control number money"/>
+                                    <form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"    class="form-control number money"/>
                                 </td>
+                            </tr>
+                            <tr>
                                 <td class="width-15 active"><label class="">费用估算:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"
-                                                class="form-control number money"/>
+                                    <form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"    class="form-control number money"/>
                                 </td>
-                            </tr>
-                            <tr>
                                 <td class="width-15 active"><label class="">备注:</label></td>
                                 <td class="width-35">
-                                    <form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"
-                                                class="form-control number money"/>
+                                    <form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"    class="form-control number money"/>
                                 </td>
                             </tr>
                             <tr>
@@ -371,7 +349,13 @@
                             </tbody>
                         </table>
                     </form:form>
-
+                    <table id="testPicTable"   data-toolbar="#toolbar"></table>
+                    <div id="toolbar">
+                        <button id="export" class="btn btn-warning">
+                            <i class="fa fa-file-excel-o"></i> 导出甲供材清册
+                        </button>
+                    </div>
+                    <table id="dataTable"   data-toolbar="#toolbar"></table>
                     <div class="row">
                         <div class="col-sm-3"></div>
                         <div class="col-sm-6">

+ 226 - 28
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/designUnit.jsp

@@ -8,35 +8,100 @@
 	<script type="text/javascript">
 	var subVar;
 		$(document).ready(function() {
+
+			var drawingAndSiteProblem = $("#drawingAndSiteProblem").val();
+			var communicationProblem = $("#communicationProblem").val();
+			var civilPrefabricateProblem = $("#civilPrefabricateProblem").val();
+			var liveWorkNumProblem = $("#liveWorkNumProblem").val();
+			var projectManagerOtherProblem = $("#projectManagerOtherProblem").val();
+
+			if (drawingAndSiteProblem=="" & communicationProblem=="" & civilPrefabricateProblem==""
+					& liveWorkNumProblem=="" & projectManagerOtherProblem==""){
+				$("#pro01").css('display','none');
+				$("#pro02").css('display','none');
+				$("#pro03").css('display','none');
+				$("#pro04").css('display','none');
+			}
+
+			var preferedCase = $("#preferedCase").val();
+			var transferSituation = $("#transferSituation").val();
+			var budgetTemplateCheck = $("#budgetTemplateCheck").val();
+			var quotaApplicationCheck = $("#quotaApplicationCheck").val();
+			var workLoadCheck = $("#workLoadCheck").val();
+			var checkTheFee = $("#checkTheFee").val();
+			var supplyCheck = $("#supplyCheck").val();
+			var materialCheck = $("#materialCheck").val();
+			var liveWorkFeeCheck = $("#liveWorkFeeCheck").val();
+			var demolitionEngineeringProblems = $("#demolitionEngineeringProblems").val();
+			var otherProblem = $("#otherProblem").val();
+
+			if (preferedCase=="" & transferSituation=="" & budgetTemplateCheck==""
+					& quotaApplicationCheck=="" & workLoadCheck=="" & checkTheFee==""
+					& supplyCheck=="" & materialCheck=="" & liveWorkFeeCheck==""
+					& demolitionEngineeringProblems=="" & otherProblem==""){
+				$("#test1").css('display','none');
+				$("#test2").css('display','none');
+				$("#test3").css('display','none');
+				$("#test4").css('display','none');
+				$("#test5").css('display','none');
+				$("#test6").css('display','none');
+				$("#test7").css('display','none');
+			}
+
 			$('#disclosureFinishDate').datetimepicker({
 				format: "YYYY-MM-DD"
 			});
 
 			$("#agree").click(function () {
 				jp.prompt("通过", function (message) {
-					// var budgetStatement = $("input[name='budgetStatement']").val();
-					// var projectProposal = $("input[name='projectProposal']").val();
+					//预算书
+					var budgetStatement = $("input[name='budgetStatement']").val();
+					//项目建议书
+					var projectProposal = $("input[name='projectProposal']").val();
 					var drawings = $("input[name='drawings']").val();
-					// var drawingSpecification = $("input[name='drawingSpecification']").val();
+					//施工图设计说明书
+					var drawingSpecification = $("input[name='drawingSpecification']").val();
+					//拆旧清册
+					var demolition = $("input[name='demolition']").val();
+					//土建现浇审批单
+					var approvalForm = $("input[name='approvalForm']").val();
+
 					var projectReserveId = $("#projectReserveId").val();
 					var projectName = $("#projectName").val();
-					// console.log(budgetStatement)
-					// console.log(projectProposal)
-					console.log(drawings)
-					// console.log(drawingSpecification)
+
+
 					var material = $("#material").val()
 					var drjgc = $("#drjgc").val()
-					console.log(material)
-					console.log(drjgc)
 
-					if (drawings == ""
+
+					if (budgetStatement == ""
+							|| budgetStatement == undefined
+							|| budgetStatement == 'undefined') {
+						jp.error("预算书不能为空");
+					}else if (projectProposal == ""
+							|| projectProposal == undefined
+							|| projectProposal == 'undefined'){
+						jp.error("项目建议书不能为空");
+					}else if (drawings == ""
 							|| drawings == undefined
 							|| drawings == 'undefined') {
 						jp.error("施工图纸不能为空");
+					}else if (drawingSpecification == ""
+							|| drawingSpecification == undefined
+							|| drawingSpecification == 'undefined') {
+						jp.error("施工图设计说明书不能为空");
+					}else if (demolition == ""
+							|| demolition == undefined
+							|| demolition == 'undefined') {
+						jp.error("拆旧清册不能为空");
+					}else if (approvalForm == ""
+							|| approvalForm == undefined
+							|| approvalForm == 'undefined') {
+						jp.error("土建现浇审批单不能为空");
 					}else if (material == "" & drjgc =="" ){
 						jp.error("甲供材信息不能为空");
 					} else {
-						jp.post("${ctx}/cg/reservemanagementcenter/process/actDesignUnit",
+						jp.post("${ctx}/cg/reservemanagementcenter/process/actDesignUnitNew",
 								{
 									"taskId": "${reserveProcess.act.taskId}",
 									"taskName": "${reserveProcess.act.taskName}",
@@ -46,7 +111,12 @@
 									"flag": "yes",
 									"projectReserveId":projectReserveId,
 									"projectName":projectName,
+									"budgetStatement":budgetStatement,
+									"projectProposal":projectProposal,
 									"drawings":drawings,
+									"drawingSpecification":drawingSpecification,
+									"demolition":demolition,
+									"approvalForm":approvalForm,
 									"material":material,
 									"drjgc":drjgc,
 									"comment": window.encodeURI(message)
@@ -65,7 +135,7 @@
 
 				})
 			});
-			$("#no").click(function () {
+			/*$("#no").click(function () {
 				jp.prompt("取消流程", function (message) {
 					var projectReserveId = $("#projectReserveId").val();
 					jp.post("${ctx}/cg/reservemanagementcenter/process/actDesignUnit",{
@@ -86,7 +156,7 @@
 							}
 					)
 				})
-			});
+			});*/
 
 			$("#moreImport").click(function(){
 				jp.open({
@@ -143,8 +213,8 @@
 	</script>
 </head>
 <body class="bg-white">
-	<input id="material" type="hidden">
-	<input id="drjgc" type="hidden">
+	<input id="material" type="hidden" value="${material}">
+	<input id="drjgc" type="hidden" value="${drjgc}">
 	<div class="wrapper wrapper-content">
 		<div class="row">
 			<div class="col-md-12">
@@ -215,63 +285,191 @@
 									</td>
 									<td class="width-15 active"><label class="">项目储备编号:</label></td>
 									<td class="width-35">
-										<form:input path="reserveSummary.projectReserveId" htmlEscape="false"    readonly="true"  class="form-control"/>
+										<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
 									</td>
 								</tr>
 								<tr>
-									<td class="width-15 active"><label class="">项目储备编号:</label></td>
-									<td class="width-35">
-										<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
-									</td>
 									<td class="width-15 active"><label class="">项目名称:</label></td>
 									<td class="width-35">
 										<form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">变电站名称:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.substationName" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">线路名称:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.circuitName" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">网架项目划分:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">需求类型:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">费用估算:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">备注:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
 								</tr>
+								<tr id="pro01">
+									<td colspan="4" class="width-15 active"><label class="">项目经理审图反馈:</label></td>
+								</tr>
+								<tr id="pro02">
+									<td class="width-15 active"><label class="">图纸与现场一致性问题:</label></td>
+									<td class="width-35">
+										<form:input path="drawingAndSiteProblem" htmlEscape="false"	readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">自动化通信方式问题:</label></td>
+									<td class="width-35">
+										<form:input path="communicationProblem" htmlEscape="false"	readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr id="pro03">
+									<td class="width-15 active"><label class="">土建预制化问题:</label></td>
+									<td class="width-35">
+										<form:input path="civilPrefabricateProblem" htmlEscape="false"	readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">带电作业次数问题:</label></td>
+									<td class="width-35">
+										<form:input path="liveWorkNumProblem" htmlEscape="false"	readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr id="pro04">
+									<td class="width-15 active"><label class="">其他问题:</label></td>
+									<td class="width-35">
+										<form:input path="projectManagerOtherProblem" htmlEscape="false"	readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr id="test1">
+									<td colspan="4" class="width-15 active"><label class="">概预算审核反馈:</label></td>
+								</tr>
+
+								<tr id="test2">
+									<td class="width-15 active"><label class="">甲供材优选情况:</label></td>
+									<td class="width-35">
+										<form:input path="preferedCase" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">甲供转乙供情况:</label></td>
+									<td class="width-35">
+										<form:input path="transferSituation" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr  id="test3">
+									<td class="width-15 active"><label class="">预算模板核对:</label></td>
+									<td class="width-35">
+										<form:input path="budgetTemplateCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">定额套用核对:</label></td>
+									<td class="width-35">
+										<form:input path="quotaApplicationCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr  id="test4">
+									<td class="width-15 active"><label class="">工作流核对:</label></td>
+									<td class="width-35">
+										<form:input path="workLoadCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">取费核对:</label></td>
+									<td class="width-35">
+										<form:input path="checkTheFee" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr  id="test5">
+									<td class="width-15 active"><label class="">甲供物资核对:</label></td>
+									<td class="width-35">
+										<form:input path="supplyCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">乙供物资核对:</label></td>
+									<td class="width-35">
+										<form:input path="materialCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr  id="test6">
+									<td class="width-15 active"><label class="">带电作业费核对:</label></td>
+									<td class="width-35">
+										<form:input path="liveWorkFeeCheck" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">拆除工程问题:</label></td>
+									<td class="width-35">
+										<form:input path="demolitionEngineeringProblems" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</td>
+								</tr>
+								<tr  id="test7">
+									<td class="width-15 active"><label class="">其他问题:</label></td>
+									<td class="width-35">
+										<form:input path="otherProblem" htmlEscape="false" readonly="true"
+													class="form-control number money"/>
+									</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">
+										<sys:fileUpload path="budgetStatement"  value="${reserveProcess.budgetStatement}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
+									</td>
+									<td class="width-15 active"><label class="">项目建议书:</label></td>
+									<td class="width-35">
+										<sys:fileUpload path="projectProposal"  value="${reserveProcess.projectProposal}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
+									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">施工图纸:</label></td>
 									<td class="width-35">
 										<sys:fileUpload path="drawings"  value="${reserveProcess.drawings}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
 									</td>
+									<td class="width-15 active"><label class="">施工图设计说明书:</label></td>
+									<td class="width-35">
+										<sys:fileUpload path="drawingSpecification"  value="${reserveProcess.drawingSpecification}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
+									</td>
+								</tr>
+
+								<tr>
+									<td class="width-15 active"><label class="">拆旧清册:</label></td>
+									<td class="width-35">
+										<sys:fileUpload path="demolition"  value="${reserveProcess.demolition}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
+									</td>
+									<td class="width-15 active"><label class="">土建现浇审批单:</label></td>
+									<td class="width-35">
+										<sys:fileUpload path="approvalForm"  value="${reserveProcess.approvalForm}" type="*" uploadPath="/personnelTurnover"  readonly="false"/>
+									</td>
+								</tr>
+
+								<tr>
 									<td class="width-15 active"><label class="">甲供材清册:</label></td>
 									<td class="width-35">
 										<a id="moreImport" class="btn btn-info">

+ 38 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/drawingReview.js

@@ -135,6 +135,44 @@ $(document).ready(function() {
 							   return labelArray.join(" ");
 						   }
 					   }
+				   }, {
+					   field: 'demolition',
+					   title: '拆旧清册',
+					   formatter:function(value, row , index){
+						   console.log(value);
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+				   }, {
+					   field: 'approvalForm',
+					   title: '土建现浇审批单',
+					   formatter:function(value, row , index){
+						   console.log(value);
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
 				   }
 			   ]
 		});

+ 63 - 15
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/drawingReview.jsp

@@ -3,7 +3,7 @@
 
 <html>
 <head>
-	<title>联合审图</title>
+	<title>项目经理审图</title>
 	<meta name="decorator" content="ani"/>
 	<%@ include file="/webpage/include/bootstraptable.jsp"%>
 	<%@ include file="/webpage/include/treeview.jsp" %>
@@ -40,6 +40,15 @@
 			});
 			$("#disagree").click(function () {
 				jp.prompt("不通过", function (message) {
+
+					var projectReserveId = $("#projectReserveId").val();
+					var drawingAndSiteProblem = $("#drawingAndSiteProblem").val();
+					var communicationProblem = $("#communicationProblem").val();
+					var civilPrefabricateProblem = $("#civilPrefabricateProblem").val();
+					var liveWorkNumProblem = $("#liveWorkNumProblem").val();
+					var projectManagerOtherProblem = $("#projectManagerOtherProblem").val();
+
+
 					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReview",
 						{
 							"taskId": "${reserveProcess.act.taskId}",
@@ -48,6 +57,12 @@
 							"procInsId": "${reserveProcess.act.procInsId}",
 							"procDefId": "${reserveProcess.act.procDefId}",
 							"flag": "disagree",
+							"projectReserveId": projectReserveId,
+							"drawingAndSiteProblem": drawingAndSiteProblem,
+							"communicationProblem": communicationProblem,
+							"civilPrefabricateProblem": civilPrefabricateProblem,
+							"liveWorkNumProblem": liveWorkNumProblem,
+							"projectManagerOtherProblem": projectManagerOtherProblem,
 							"comment": window.encodeURI(message)
 						},
 						function (data) {
@@ -61,6 +76,7 @@
 			});
 			$("#cancel").click(function () {
 				jp.prompt("取消", function (message) {
+					var projectReserveId = $("#projectReserveId").val();
 					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReview",
 							{
 								"taskId": "${reserveProcess.act.taskId}",
@@ -69,6 +85,7 @@
 								"procInsId": "${reserveProcess.act.procInsId}",
 								"procDefId": "${reserveProcess.act.procDefId}",
 								"flag": "cancel",
+								"projectReserveId": projectReserveId,
 								"comment": window.encodeURI(message)
 							},
 							function (data) {
@@ -82,6 +99,7 @@
 			});
 			$("#pending").click(function () {
 				jp.prompt("待定", function (message) {
+					var projectReserveId = $("#projectReserveId").val();
 					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReview",
 							{
 								"taskId": "${reserveProcess.act.taskId}",
@@ -90,6 +108,7 @@
 								"procInsId": "${reserveProcess.act.procInsId}",
 								"procDefId": "${reserveProcess.act.procDefId}",
 								"flag": "pending",
+								"projectReserveId": projectReserveId,
 								"comment": window.encodeURI(message)
 							},
 							function (data) {
@@ -112,7 +131,7 @@
 				<div class="panel panel-primary">
 					<div class="panel-heading">
 						<h3 class="panel-title">
-							<h3 class="panel-title">联合审图</h3>
+							<h3 class="panel-title">项目经理审图</h3>
 						</h3>
 					</div>
 					<div class="panel-body">
@@ -176,56 +195,85 @@
 									</td>
 									<td class="width-15 active"><label class="">项目储备编号:</label></td>
 									<td class="width-35">
-										<form:input path="reserveSummary.projectReserveId" htmlEscape="false"    readonly="true"  class="form-control"/>
+										<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
 									</td>
 								</tr>
 								<tr>
-									<td class="width-15 active"><label class="">项目储备编号:</label></td>
-									<td class="width-35">
-										<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
-									</td>
 									<td class="width-15 active"><label class="">项目名称:</label></td>
 									<td class="width-35">
 										<form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">变电站名称:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.substationName" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">线路名称:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.circuitName" htmlEscape="false"    readonly="true"  class="form-control"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">网架项目划分:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">需求类型:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
+								</tr>
+								<tr>
 									<td class="width-15 active"><label class="">费用估算:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</td>
-								</tr>
-								<tr>
 									<td class="width-15 active"><label class="">备注:</label></td>
 									<td class="width-35">
 										<form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"    class="form-control number money"/>
 									</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="drawingAndSiteProblem" htmlEscape="false"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">自动化通信方式问题:</label></td>
+									<td class="width-35">
+										<form:input path="communicationProblem" 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="civilPrefabricateProblem" htmlEscape="false"
+													class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">带电作业次数问题:</label></td>
+									<td class="width-35">
+										<form:input path="liveWorkNumProblem" 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="projectManagerOtherProblem" htmlEscape="false"
+													class="form-control number money"/>
+									</td>
+								</tr>
+
+								<tr>
 									<td colspan="4" class="width-15 active"><label class="">设计资料:</label></td>
 								</tr>
 								</tbody>

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

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>新增政策处理信息</title>
+	<title>新增交底汇总信息</title>
 	<meta name="decorator" content="ani"/>
 	<script type="text/javascript">
 

+ 89 - 238
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.js

@@ -79,244 +79,87 @@ $(document).ready(function () {
         },
         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>施工草图',
-
-                },
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":23,"halign":"center","align": "center",width: "4600px"},
+                    {"title":"储备项目交底信息","colspan":13,"halign":"center","align": "center",width: "2600px"},
+                    {"title":"储备项目推进计划","colspan":12,"halign":"center","align": "center",width: "2400px"},
+                    {"title":"立项筛选","colspan":5,"halign":"center","align": "center",width: "1000px"}
+                ],
+                    [
+                    {checkbox:true,width: 36},
+                        { field: 'projectYear', title: "项目年份", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectNature', title: "项目性质", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'demandUnit', title: "需求单位", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'district', title: "区域", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectGroup', title: "项目分组", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectManager', title: "项目经理", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'reserveBatches', title: "储备批次", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1,
+                            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', title: "项目名称", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                        { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                        { field: 'substationName', title: "变电站名称", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'circuitName', title: "线路名称", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'netRackProjectDivide', title: "网架项目划分", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'requirementType', title: "需求类型", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectType', title: "项目类型", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'budgetPreparationStatus', title: "预算编制状态", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'budgetIncludesTax', title: "预算(含税)", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'budgetNotIncludesTax', title: "预算(不含税)", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'basicRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+
+                        { field: 'reserveProgress', title: "储备进度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'includeReserve', title: "是否纳入储备", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'reasonForCancel', title: "取消原因说明", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'comprehensiveProject', title: "项目综合可实施性", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'officeDifficulty', title: "政处难度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'officeProgress', title: "政处进度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'powerFailureDifficulty', title: "停电难度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'powerFailureDescribe', title: "停电描述", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'otherProblemDifficulty', title: "其他问题难度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'otherProblemDescribe', title: "其他问题描述", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'runPlanRequire', title: "是否需重跑方案", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'programChangeDescription', title: "方案变更说明", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'discloseRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+
+                        { field: 'demandUnitPriority', title: "需求单位优先级", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'preliminaryArrangement', title: "立项初安排", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'initialImplementBatch', title: "初定实施批次", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'initialImplementUnit', title: "初定实施单位", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectManagementCenter', title: "储备项目推进计划", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'completeProgressUnit', title: "项目管理单位完成进度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectReservePlan', title: "储备项目推进计划", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'demandUnitProgress', title: "需求单位完成进度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'departmentPlan', title: "政处计划", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'administrativeProgress', title: "政处进度", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'drawMapPath', title: "是否出路径图", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'planRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+
+                        { field: 'arrangementProject', title: "立项安排", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                        { field: 'implementationBatch', title: "实施批次", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'constructionUnit', title: "施工单位", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'drawOfficeDrawn', title: "是否出正式图", valign:"middle", align:"center", colspan: 1 },
+                        { field: 'projectInitiateRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+
+                    ],
 
         ]
     });
@@ -415,6 +258,14 @@ $(document).ready(function () {
     });
 });
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
 function getIdSelections() {
     return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
         return row.id

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

@@ -18,6 +18,15 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3000px;
 		}
 	</style>
 </head>

+ 125 - 61
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>修改政策处理信息</title>
+	<title>修改交底汇总信息</title>
 	<meta name="decorator" content="ani"/>
 	<script type="text/javascript">
 
@@ -66,54 +66,54 @@
 		<tr>
 			<td class="width-15 active"><label class="">项目年份:</label></td>
 			<td class="width-35">
-				<form:input path="projectYear" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="projectYear" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">项目性质:</label></td>
 			<td class="width-35">
-				<form:input path="projectNature" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="projectNature" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">需求单位:</label></td>
 			<td class="width-35">
-				<form:input path="demandUnit" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">区域:</label></td>
 			<td class="width-35">
-				<form:input path="district" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="district" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">项目分组:</label></td>
 			<td class="width-35">
-				<form:input path="projectGroup" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control" readonly="true"/>
 			</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"/>
+				<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"  readonly="true"  class="form-control"/>
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">供电区域:</label></td>
 			<td class="width-35">
-				<form:input path="blockSupply" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
 			<td class="width-35">
-				<form:input path="gridNumber" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control" readonly="true"/>
 			</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"  readonly="true"  class="form-control"/>
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
 			<td class="width-35">
@@ -124,61 +124,61 @@
 		<tr>
 			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
 			<td class="width-35">
-				<form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control required"/>
+				<form:input path="projectName" htmlEscape="false"    class="form-control required" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
 			<td class="width-35">
-				<form:input path="constructionNecessityAndContent" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">变电站名称:</label></td>
 			<td class="width-35">
-				<form:input path="substationName" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="substationName" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">线路名称:</label></td>
 			<td class="width-35">
-				<form:input path="circuitName" htmlEscape="false"  readonly="true" class="form-control"/>
+				<form:input path="circuitName" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">网架项目划分:</label></td>
 			<td class="width-35">
-				<form:input path="netRackProjectDivide" htmlEscape="false"  readonly="true"  class="form-control"/>
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">需求类型:</label></td>
 			<td class="width-35">
-				<form:input path="requirementType" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="requirementType" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">项目类型:</label></td>
 			<td class="width-35">
-				<form:input path="projectType" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="projectType" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">费用估算:</label></td>
 			<td class="width-35">
-				<form:input path="costEstimate" htmlEscape="false" readonly="true" class="form-control number money"/>
+				<form:input path="costEstimate" htmlEscape="false" class="form-control number money" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">预算编制状态:</label></td>
 			<td class="width-35">
-				<form:input path="budgetPreparationStatus" htmlEscape="false" readonly="true" class="form-control number money"/>
+				<form:input path="budgetPreparationStatus" htmlEscape="false" class="form-control number money" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">预算含税:</label></td>
 			<td class="width-35">
-				<form:input path="budgetIncludesTax" htmlEscape="false" readonly="true" class="form-control number money"/>
+				<form:input path="budgetIncludesTax" htmlEscape="false" class="form-control number money" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
 			<td class="width-15 active"><label class="">预算不含税:</label></td>
 			<td class="width-35">
-				<form:input path="budgetNotIncludesTax" htmlEscape="false" readonly="true" class="form-control number money"/>
+				<form:input path="budgetNotIncludesTax" htmlEscape="false" class="form-control number money" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">备注:</label></td>
 			<td class="width-35">
-				<form:textarea path="basicRemarks" htmlEscape="false"  readonly="true" rows="3" maxlength="200" class="form-control"/>
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
@@ -187,7 +187,7 @@
 		<tr>
 			<td class="width-15 active"><label class="">储备进度:</label></td>
 			<td class="width-35">
-				<form:input path="reserveProgress" htmlEscape="false" readonly="true" class="form-control"/>
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 			<td class="width-15 active"><label class="">是否纳入储备:</label></td>
 			<td class="width-35">
@@ -201,64 +201,72 @@
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">存在重大问题分类:</label></td>
+			<td class="width-15 active"><label class="">取消原因说明:</label></td>
 			<td class="width-35">
-				<form:input path="majorProblemClassification" htmlEscape="false" class="form-control"/>
+				<form:input path="reasonForCancel" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
-			<td class="width-15 active"><label class="">存在问题说明:</label></td>
+			<td class="width-15 active"><label class="">项目综合可实施性:</label></td>
 			<td class="width-35">
-				<form:input path="problemDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="comprehensiveProject" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">是否可变更方案:</label></td>
+			<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>
+				<form:input path="officeDifficulty" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
-			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
 			<td class="width-35">
-				<form:input path="programChangeDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="officeProgress" htmlEscape="false" class="form-control" readonly="true"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-15 active"><label class="">停电难度:</label></td>
 			<td class="width-35">
-				<form:input path="administrativeDifficulty" readonly="true" htmlEscape="false" class="form-control"/>
+				<form:input path="powerFailureDifficulty" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">政处进度:</label></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"/>
+				<form:input path="powerFailureDescribe" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">取消确认部门:</label></td>
+			<td class="width-15 active"><label class="">其他问题难度:</label></td>
 			<td class="width-35">
-				<form:input path="cancelConfirmationDepartment" htmlEscape="false" class="form-control"/>
+				<form:input path="otherProblemDifficulty" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">储备项目交底信息-备注:</label></td>
+			<td class="width-15 active"><label class="">其他问题描述:</label></td>
 			<td class="width-35">
-				<form:input path="truthRemark" htmlEscape="false" class="form-control"/>
+				<form:input path="otherProblemDescribe" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td colspan="4" class="width-15 active"><label class="">项目初步实施计划:</label></td>
+			<td class="width-15 active"><label class="">是否需重跑方案:</label></td>
+			<td class="width-35">
+				<form:input path="runPlanRequire" 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="discloseRemarks" 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-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>
+				<form:input path="preliminaryArrangement" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
@@ -266,25 +274,81 @@
 			<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-15 active"><label class="">初定施单位:</label></td>
 			<td class="width-35">
-				<form:input path="preliminaryConstructionUnit" htmlEscape="false" class="form-control"/>
+				<form:input path="initialImplementUnit" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">初定施工单位项目经理:</label></td>
+			<td class="width-15 active"><label class="">储备项目推进计划(项目管理中心):</label></td>
 			<td class="width-35">
-				<form:input path="preliminaryConstructionUnitProjectManager" htmlEscape="false" class="form-control"/>
+				<form:input path="projectManagementCenter" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">是否移交施工草图:</label></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>
+				<form:input path="completeProgressUnit" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备项目推进计划(需求单位):</label></td>
+			<td class="width-35">
+				<form:input path="projectReservePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求单位完成进度:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnitProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处计划(政处单位):</label></td>
+			<td class="width-35">
+				<form:input path="departmentPlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeProgress" htmlEscape="false" class="form-control" readonly="true"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否出路径图:</label></td>
+			<td class="width-35">
+				<form:input path="drawMapPath" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="planRemarks" 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="arrangementProject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementationBatch" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="constructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否出正式图:</label></td>
+			<td class="width-35">
+				<form:input path="drawOfficeDrawn" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="projectInitiateRemarks" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
 		</tbody>
 	</table>
 </form:form>

+ 102 - 38
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementView.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <html>
 <head>
-	<title>政策处理信息</title>
+	<title>交底信息汇总</title>
 	<meta name="decorator" content="ani"/>
 	<script type="text/javascript">
 
@@ -178,64 +178,72 @@
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">存在重大问题分类:</label></td>
+			<td class="width-15 active"><label class="">取消原因说明:</label></td>
 			<td class="width-35">
-				<form:input path="majorProblemClassification" htmlEscape="false" class="form-control"/>
+				<form:input path="reasonForCancel" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">存在问题说明:</label></td>
+			<td class="width-15 active"><label class="">项目综合可实施性:</label></td>
 			<td class="width-35">
-				<form:input path="problemDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="comprehensiveProject" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">是否可变更方案:</label></td>
+			<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>
+				<form:input path="officeDifficulty" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
 			<td class="width-35">
-				<form:input path="programChangeDescription" htmlEscape="false" class="form-control"/>
+				<form:input path="officeProgress" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-15 active"><label class="">停电难度:</label></td>
 			<td class="width-35">
-				<form:input path="administrativeDifficulty" readonly="true" htmlEscape="false" class="form-control"/>
+				<form:input path="powerFailureDifficulty" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">政处进度:</label></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"/>
+				<form:input path="powerFailureDescribe" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">取消确认部门:</label></td>
+			<td class="width-15 active"><label class="">其他问题难度:</label></td>
 			<td class="width-35">
-				<form:input path="cancelConfirmationDepartment" htmlEscape="false" class="form-control"/>
+				<form:input path="otherProblemDifficulty" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">储备项目交底信息-备注:</label></td>
+			<td class="width-15 active"><label class="">其他问题描述:</label></td>
 			<td class="width-35">
-				<form:input path="truthRemark" htmlEscape="false" class="form-control"/>
+				<form:input path="otherProblemDescribe" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td colspan="4" class="width-15 active"><label class="">项目初步实施计划:</label></td>
+			<td class="width-15 active"><label class="">是否需重跑方案:</label></td>
+			<td class="width-35">
+				<form:input path="runPlanRequire" 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="discloseRemarks" 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-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>
+				<form:input path="preliminaryArrangement" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
@@ -243,25 +251,81 @@
 			<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-15 active"><label class="">初定施单位:</label></td>
 			<td class="width-35">
-				<form:input path="preliminaryConstructionUnit" htmlEscape="false" class="form-control"/>
+				<form:input path="initialImplementUnit" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
 		<tr>
-			<td class="width-15 active"><label class="">初定施工单位项目经理:</label></td>
+			<td class="width-15 active"><label class="">储备项目推进计划(项目管理中心):</label></td>
 			<td class="width-35">
-				<form:input path="preliminaryConstructionUnitProjectManager" htmlEscape="false" class="form-control"/>
+				<form:input path="projectManagementCenter" htmlEscape="false" class="form-control"/>
 			</td>
-			<td class="width-15 active"><label class="">是否移交施工草图:</label></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>
+				<form:input path="completeProgressUnit" htmlEscape="false" class="form-control"/>
 			</td>
 		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备项目推进计划(需求单位):</label></td>
+			<td class="width-35">
+				<form:input path="projectReservePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求单位完成进度:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnitProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处计划(政处单位):</label></td>
+			<td class="width-35">
+				<form:input path="departmentPlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否出路径图:</label></td>
+			<td class="width-35">
+				<form:input path="drawMapPath" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="planRemarks" 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="arrangementProject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementationBatch" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="constructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否出正式图:</label></td>
+			<td class="width-35">
+				<form:input path="drawOfficeDrawn" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:input path="projectInitiateRemarks" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
 		</tbody>
 	</table>
 </form:form>

+ 375 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/test/drawingReviewTest.js

@@ -0,0 +1,375 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#testPicTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	           showSearch: false,
+               //显示刷新按钮
+               showRefresh: false,
+               //显示切换手机试图按钮
+               showToggle: false,
+               //显示 内容列下拉框
+    	       showColumns: false,
+    	       //显示到处按钮
+    	       showExport: false,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: false,
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: true,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/cg/reservemanagementcenter/process/allUploadData",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+			   	var searchParam = $("#inputForm").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){
+               },
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+
+				},
+               columns: [
+				   {
+					   field: 'budgetStatement',
+					   title: '预算书',
+					   formatter:function(value, row , index){
+					   	if (value){
+							var valueArray = value.split("|");
+							var labelArray = [];
+							for(var i =0 ; i<valueArray.length; i++){
+								if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								{
+									labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								}else{
+									labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								}
+							}
+							return labelArray.join(" ");
+						}
+					   }
+				   }, {
+					   field: 'projectProposal',
+					   title: '项目建议书',
+					   formatter:function(value, row , index){
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+
+				   }, {
+					   field: 'drawings',
+					   title: '图纸',
+					   formatter:function(value, row , index){
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+
+				   }, {
+					   field: 'drawingSpecification',
+					   title: '施工图设计说明书',
+					   formatter:function(value, row , index){
+						   console.log(value);
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+				   }, {
+					   field: 'demolition',
+					   title: '拆旧清册',
+					   formatter:function(value, row , index){
+						   console.log(value);
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+				   }, {
+					   field: 'approvalForm',
+					   title: '土建现浇审批单',
+					   formatter:function(value, row , index){
+						   console.log(value);
+						   if (value){
+							   var valueArray = value.split("|");
+							   var labelArray = [];
+							   for(var i =0 ; i<valueArray.length; i++){
+								   if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
+								   {
+									   labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
+								   }else{
+									   labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
+								   }
+							   }
+							   return labelArray.join(" ");
+						   }
+					   }
+				   }
+			   ]
+		});
+
+	$('#dataTable').bootstrapTable({
+		//请求方法
+		method: 'post',
+		//类型json
+		dataType: "json",
+		contentType: "application/x-www-form-urlencoded",
+		//显示检索按钮
+		showSearch: false,
+		//显示刷新按钮
+		showRefresh: true,
+		//显示切换手机试图按钮
+		showToggle: false,
+		//显示 内容列下拉框
+		showColumns: false,
+		//显示到处按钮
+		showExport: false,
+		//显示切换分页按钮
+		showPaginationSwitch: false,
+		//最低显示2行
+		minimumCountColumns: 2,
+		//是否显示行间隔色
+		striped: true,
+		//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+		cache: false,
+		//是否显示分页(*)
+		pagination: true,
+		//排序方式
+		sortOrder: "asc",
+		//初始化加载第一页,默认第一页
+		pageNumber:1,
+		//每页的记录行数(*)
+		pageSize: 10,
+		//可供选择的每页的行数(*)
+		pageList: [10, 25, 50, 100],
+		//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+		url: "${ctx}/cg/reservemanagementcenter/process/materialData",
+		//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+		//queryParamsType:'',
+		////查询参数,每次调用是会带上这个参数,可自定义
+		queryParams : function(params) {
+			var searchParam = $("#searchForm").serializeJSON();
+			searchParam.projectName = $("#projectName").val();
+			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){
+		},
+		onClickRow: function(row, $el){
+		},
+		onLoadSuccess: function () {  //加载成功时执行
+		},
+		onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		columns: [
+			/*{
+				field: 'projectName',
+				width:230,
+				title: '项目名称'
+			}*/
+			{
+				field: 'materialCode',
+				width:100,
+				title: '物料编码'
+			}
+			,{
+				field: 'materialName',
+				width:200,
+				title: '物料名称'
+			}
+			,{
+				field: 'extendDescription',
+				width:200,
+				title: '扩展描述'
+			}
+			,{
+				field: 'unit',
+				width:60,
+				title: '单位'
+			}
+			,{
+				field: 'totalCount',
+				width:60,
+				title: '总量'
+			}
+			,{
+				field: 'weightKg',
+				width:80,
+				title: '单重/kg'
+			}
+			,{
+				field: 'weightTon',
+				width:80,
+				title: '总重/吨'
+			}
+			,{
+				field: 'supplyType',
+				width:80,
+				title: '甲乙供'
+			}
+		]
+
+	})
+
+
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+
+		  $('#testPicTable').bootstrapTable("toggleView");
+		}
+
+	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
+        });
+
+	$("#export").click(function(){//导出甲供材清册
+		var projectName = $("#projectName").val();
+		jp.downloadFile('${ctx}/cg/reservemanagementcenter/process/exportAct?projectName=' + projectName);
+	});
+
+
+
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#testPicTable').bootstrapTable('refresh');
+		});
+
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $("#searchForm  .select-item").html("");
+		  $('#testPicTable').bootstrapTable('refresh');
+	});
+
+
+
+
+	});
+
+  function getIdSelections() {
+        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+  function deleteAll(){
+		jp.confirm('确认要删除该图片管理记录吗?', function(){
+			jp.loading();
+			jp.get("${ctx}/managementcenter/upload/delete?ids=" + getIdSelections(), function(data){
+         	  		if(data.success){
+         	  			$('#testPicTable').bootstrapTable('refresh');
+         	  			jp.success(data.msg);
+         	  		}else{
+         	  			jp.error(data.msg);
+         	  		}
+         	  	})
+
+		})
+  }
+
+    //刷新列表
+  function refresh(){
+  	$('#testPicTable').bootstrapTable('refresh');
+  }
+
+   function add(){
+	  jp.openSaveDialog('新增图片管理', "${ctx}/managementcenter/upload/list",'800px', '500px');
+  }
+
+
+
+   function edit(id){//没有权限时,不显示确定按钮
+       if(id == undefined){
+	      id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+  }
+
+ function view(id){//没有权限时,不显示确定按钮
+      if(id == undefined){
+             id = getIdSelections();
+      }
+        jp.openViewDialog('查看图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
+ }
+
+
+
+</script>

+ 263 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/test/drawingReviewTest.jsp

@@ -0,0 +1,263 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+
+<html>
+<head>
+	<title>联合审图</title>
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@ include file="/webpage/include/treeview.jsp" %>
+	<%@ include file="drawingReviewTest.js"%>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+
+			$("#agree").click(function () {
+				jp.prompt("通过", function (message) {
+					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReviewTest",
+						{
+							"taskId": "${reserveProcess.act.taskId}",
+							"taskName": "${reserveProcess.act.taskName}",
+							"taskDefKey": "${reserveProcess.act.taskDefKey}",
+							"procInsId": "${reserveProcess.act.procInsId}",
+							"procDefId": "${reserveProcess.act.procDefId}",
+							"flag": "yes",
+							"comment": window.encodeURI(message)
+						},
+						function (data) {
+							if (data.success) {
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo");
+							} else {
+								jp.error(data.msg);
+							}
+						}
+				);
+				})
+			});
+			$("#disagree").click(function () {
+				jp.prompt("不通过", function (message) {
+					var projectReserveId = $("#projectReserveId").val();
+					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReviewTest",
+						{
+							"taskId": "${reserveProcess.act.taskId}",
+							"taskName": "${reserveProcess.act.taskName}",
+							"taskDefKey": "${reserveProcess.act.taskDefKey}",
+							"procInsId": "${reserveProcess.act.procInsId}",
+							"procDefId": "${reserveProcess.act.procDefId}",
+							"flag": "disagree",
+							"projectReserveId": projectReserveId,
+							"comment": window.encodeURI(message)
+						},
+						function (data) {
+							if (data.success) {
+								jp.success(data.msg);
+								jp.go("${ctx}/act/task/todo")
+							}
+						}
+					)
+				})
+			});
+			$("#cancel").click(function () {
+				jp.prompt("取消", function (message) {
+					var projectReserveId = $("#projectReserveId").val();
+					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReviewTest",
+							{
+								"taskId": "${reserveProcess.act.taskId}",
+								"taskName": "${reserveProcess.act.taskName}",
+								"taskDefKey": "${reserveProcess.act.taskDefKey}",
+								"procInsId": "${reserveProcess.act.procInsId}",
+								"procDefId": "${reserveProcess.act.procDefId}",
+								"flag": "cancel",
+								"projectReserveId": projectReserveId,
+								"comment": window.encodeURI(message)
+							},
+							function (data) {
+								if (data.success) {
+									jp.success(data.msg);
+									jp.go("${ctx}/act/task/todo")
+								}
+							}
+					)
+				})
+			});
+			$("#pending").click(function () {
+				jp.prompt("待定", function (message) {
+					var projectReserveId = $("#projectReserveId").val();
+					jp.post("${ctx}/cg/reservemanagementcenter/process/actDrawingReviewTest",
+							{
+								"taskId": "${reserveProcess.act.taskId}",
+								"taskName": "${reserveProcess.act.taskName}",
+								"taskDefKey": "${reserveProcess.act.taskDefKey}",
+								"procInsId": "${reserveProcess.act.procInsId}",
+								"procDefId": "${reserveProcess.act.procDefId}",
+								"flag": "pending",
+								"projectReserveId": projectReserveId,
+								"comment": window.encodeURI(message)
+							},
+							function (data) {
+								if (data.success) {
+									jp.success(data.msg);
+									jp.go("${ctx}/act/task/todo")
+								}
+							}
+					)
+				})
+			});
+
+		});
+	</script>
+</head>
+<body class="bg-white">
+	<div class="wrapper wrapper-content">
+		<div class="row">
+			<div class="col-md-12">
+				<div class="panel panel-primary">
+					<div class="panel-heading">
+						<h3 class="panel-title">
+							<h3 class="panel-title">联合审图</h3>
+						</h3>
+					</div>
+					<div class="panel-body">
+						<form:form id="inputForm" modelAttribute="reserveProcess" class="form-horizontal">
+							<form:hidden path="id"/>
+							<form:hidden path="act.taskId"/>
+							<form:hidden path="act.taskName"/>
+							<form:hidden path="act.taskDefKey"/>
+							<form:hidden path="act.procInsId"/>
+							<form:hidden path="act.procDefId"/>
+							<form:hidden id="flag" path="act.flag"/>
+							<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="reserveSummary.projectYear" htmlEscape="false" readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">项目性质:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.projectNature" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">需求单位:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.demandUnit" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">区域:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.district" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">项目分组:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.projectGroup" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">储备批次:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.reserveBatches" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">供电区域:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.blockSupply" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">网格编号:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.gridNumber" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">单元格编号:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.cellNumber" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">项目储备编号:</label></td>
+									<td class="width-35">
+										<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">项目名称:</label></td>
+									<td class="width-35">
+										<form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">建设必要性及内容:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.constructionNecessityAndContent" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">变电站名称:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.substationName" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+									<td class="width-15 active"><label class="">线路名称:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.circuitName" htmlEscape="false"    readonly="true"  class="form-control"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">网架项目划分:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.netRackProjectDivide" htmlEscape="false" readonly="true"    class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">需求类型:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.requirementType" htmlEscape="false" readonly="true"    class="form-control number money"/>
+									</td>
+								</tr>
+								<tr>
+									<td class="width-15 active"><label class="">费用估算:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.costEstimate" htmlEscape="false" readonly="true"    class="form-control number money"/>
+									</td>
+									<td class="width-15 active"><label class="">备注:</label></td>
+									<td class="width-35">
+										<form:input path="reserveSummary.basicRemarks" htmlEscape="false" readonly="true"    class="form-control number money"/>
+									</td>
+								</tr>
+								<tr>
+									<td colspan="4" class="width-15 active"><label class="">设计资料:</label></td>
+								</tr>
+								</tbody>
+							</table>
+						</form:form>
+						<table id="testPicTable"   data-toolbar="#toolbar"></table>
+						<div id="toolbar">
+							<button id="export" class="btn btn-warning">
+								<i class="fa fa-file-excel-o"></i> 导出甲供材清册
+							</button>
+						</div>
+						<table id="dataTable"   data-toolbar="#toolbar"></table>
+						<div class="row">
+							<div class="col-sm-3"></div>
+							<div class="col-sm-6">
+								<div class="form-group text-center">
+									<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="通过"/>&nbsp;
+									<input id="disagree" class="btn  btn-danger btn-lg btn-parsley" type="submit" value="不通过"/>
+									<input id="cancel" class="btn  btn-danger btn-lg btn-parsley" type="submit" value="取消"/>
+									<input id="pending" class="btn  btn-danger btn-lg btn-parsley" type="submit" value="待定"/>
+								</div>
+							</div>
+						</div>
+
+						<c:if test="${not empty reserveProcess.id}">
+							<act:flowChart procInsId="${reserveProcess.act.procInsId}"/>
+							<act:histoicFlow procInsId="${reserveProcess.act.procInsId}" />
+						</c:if>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>

+ 79 - 211
src/main/webapp/webpage/modules/cg/statisticalTable/budgetStats/budgetStats.js

@@ -79,217 +79,77 @@ $(document).ready(function () {
         },
         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: 'reserveProgress',
-                    width:100,
-                    title: '储备</br>进度',
-                },{
-                    field: 'implementPlan',
-                    width:100,
-                    title: '是否纳入</br>实施计划',
-                },{
-                    field: 'implementBatch',
-                    width:100,
-                    title: '初定实施</br>批次',
-                },{
-                    field: 'pretrialEstimateAmount',
-                    width:100,
-                    title: '总概算金额</br>(含税)',
-                },{
-                    field: 'pretrialEstimateAmountExcludeTax',
-                    width:120,
-                    title: '审前总概算</br>金额(不含税)',
-                },{
-                    field: 'pretrialDeductibleAmount',
-                    width:120,
-                    title: '审前可抵扣</br>金额(税金)',
-                },{
-                    field: 'pretrialConstructeConsts',
-                    width:100,
-                    title: '审前施工费</br>(含税)',
-                },{
-                    field: 'pretrialMaterialAmount',
-                    width:120,
-                    title: '审前甲供物资</br>金额(含税)',
-                },{
-                    field: 'pretrialOtherExpanses',
-                    width:110,
-                    title: '审前其他</br>费用(含税)',
-                },{
-                    field: 'pretrialPreliminaryConstructeFee',
-                    width:120,
-                    title: '审前前期工</br>程费(含税)',
-                },{
-                    field: 'pretrialSurveyFee',
-                    width:100,
-                    title: '审前勘察费</br>(含税)',
-                },{
-                    field: 'pretrialDesignFee',
-                    width:100,
-                    title: '审前设计费</br>(含税)',
-                },{
-                    field: 'pretrialSupervisionFee',
-                    width:100,
-                    title: '审前监理费</br>(含税)',
-                },{
-                    field: 'afterTrialEstimateAmount',
-                    width:120,
-                    title: '审后总概算</br>金额(含税)',
-                }
-                ,{
-                    field: 'afterTrialEstimateAmountExcludeTax',
-                    width:120,
-                    title: '审后总概算</br>金额(不含税)',
-                },{
-                    field: 'afterTrialDeductibleAmount',
-                    width:120,
-                    title: '审后可抵扣</br>金额(税金)',
-                },{
-                    field: 'afterTrialConstructeConsts',
-                    width:100,
-                    title: '审后施工费</br>(含税)',
-                },{
-                    field: 'afterTrialMaterialAmount',
-                    width:120,
-                    title: '审后甲供物资金额</br>(含税)',
-                },{
-                    field: 'afterTrialOtherExpanses',
-                    width:120,
-                    title: '审后其他费用</br>(含税)',
-                },{
-                    field: 'afterTrialPreliminaryConstructeFee',
-                    width:120,
-                    title: '审后前期工程费</br>(含税)',
-                },{
-                    field: 'afterTrialSurveyFee',
-                    width:120,
-                    title: '审后勘察费</br>(含税)',
-                },{
-                    field: 'afterTrialDesignFee',
-                    width:120,
-                    title: '审后设计费</br>(含税)',
-                },{
-                    field: 'afterTrialSupervisionFee',
-                    width:120,
-                    title: '审后监理费</br>(含税)',
-                },{
-                    field: 'budgetRevision',
-                    width:100,
-                    title: '是否完成</br>概算修改',
-                },{
-                    field: 'completeTime',
-                    width:100,
-                    title: '概算修改</br>完成时间',
-                },
-        ]
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"储备项目基本信息","colspan":21,"halign":"center","align": "center",width: "4200px"},
+                    {"title":"概算信息(审前)","colspan":10,"halign":"center","align": "center",width: "2000px"},
+                    {"title":"概算信息(审后)","colspan":10,"halign":"center","align": "center",width: "2000px"},
+                    {"title":"概算状态","colspan":2,"halign":"center","align": "center",width: "400px"}
+                ],
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'projectYear', title: "项目年份", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'projectNature', title: "项目性质", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'demandUnit', title: "需求单位", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'district', title: "区域", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'projectGroup', title: "项目分组", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'reserveBatches', title: "储备批次", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                    { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1,
+                        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', title: "项目名称", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                    { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1,formatter:paramsMatter},
+                    { field: 'substationName', title: "变电站名称", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'circuitName', title: "线路名称", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'netRackProjectDivide', title: "网架项目划分", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'requirementType', title: "需求类型", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'basicRemarks', title: "备注", valign:"middle", align:"center", colspan: 1 ,formatter:paramsMatter},
+                    { field: 'reserveProgress', title: "储备进度", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'implementPlan', title: "是否纳入实施计划", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'implementBatch', title: "初定实施批次", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialEstimateAmount', title: "总概算金额(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialEstimateAmountExcludeTax', title: "审前总概算金额(不含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialDeductibleAmount', title: "审前可抵扣金额(税金)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialConstructeConsts', title: "审前施工费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialMaterialAmount', title: "审前甲供物资金额(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialOtherExpanses', title: "审前其他费用(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialPreliminaryConstructeFee', title: "审前前期工程费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialSurveyFee', title: "审前勘察费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialDesignFee', title: "审前设计费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'pretrialSupervisionFee', title: "审前监理费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialEstimateAmount', title: "审后总概算金额(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialEstimateAmountExcludeTax', title: "审后总概算金额(不含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialDeductibleAmount', title: "审后可抵扣金额(税金)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialConstructeConsts', title: "审后施工费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialMaterialAmount', title: "审后甲供物资金额(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialOtherExpanses', title: "审后其他费用(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialPreliminaryConstructeFee', title: "审后前期工程费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialSurveyFee', title: "审后勘察费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialDesignFee', title: "审后设计费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'afterTrialSupervisionFee', title: "审后监理费(含税)", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'budgetRevision', title: "是否完成概算修改", valign:"middle", align:"center", colspan: 1 },
+                    { field: 'completeTime', title: "概算修改完成时间", valign:"middle", align:"center", colspan: 1 },
+
+
+                ],
+
+            ]
     });
 
 
@@ -387,6 +247,14 @@ $(document).ready(function () {
     });
 });
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
+
 function getIdSelections() {
     return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
         return row.id

+ 9 - 0
src/main/webapp/webpage/modules/cg/statisticalTable/budgetStats/budgetStats.jsp

@@ -18,6 +18,15 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 3000px;
 		}
 	</style>
 </head>

+ 60 - 200
src/main/webapp/webpage/modules/cg/statisticalTable/constructeScale/constructeScale.js

@@ -79,207 +79,60 @@ $(document).ready(function () {
         },
         columns:
             [
-                {
-                    checkbox: true,
-                    width:36,
+                [
+                    {checkbox:true,width: 36},
+                    {"title":"国网江苏省电力有限公司2022年第二批配电网工程项目明细表","colspan":40,"halign":"center","align": "center"},
+                ],
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'cityCompany', title: "市公司", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'district', title: "县公司", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'blockSupply', title: "供电区域", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'gridNumber', title: "网格编号", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'cellNumber', title: "单元格编号", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'projectReserveId', title: "项目储备编号", valign:"middle", align:"center", colspan: 1, rowspan: 2},
+                    { field: 'projectName', title: "项目名称", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'constructionNecessityAndContent', title: "建设必要性及内容", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'constructePurpose', title: "建设目的", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { field: 'reserveProgress', title: "项目进度", valign:"middle", align:"center", colspan: 1, rowspan: 2 ,formatter:paramsMatter},
+                    { title: "建设规模", valign:"middle", align:"center", colspan: 26, rowspan: 1 },
+                    { field: 'costEstimate', title: "费用估算", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'peakSummerProject', title: "是否迎峰度夏项目", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'projectReview', title: "通过第几批项目评审", valign:"middle", align:"center", colspan: 1, rowspan: 2 },
+                    { field: 'afterTrialEstimateAmount', title: "概算", valign:"middle", align:"center", colspan: 1, rowspan: 2 }
+                ],
 
-                },
-                {
-                    field: 'cityCompany',
-                    width:150,
-                    title: '市公司',
-                },
-                {
-                    field: 'district',
-                    width:150,
-                    title: '县公司',
-                },
-                {
-                    field: 'blockSupply',
-                    width:80,
-                    title: '供电区域',
-                },
-                {
-                    field: 'gridNumber',
-                    width:150,
-                    title: '网格编号',
-                },
-                {
-                    field: 'cellNumber',
-                    width:150,
-                    title: '单元格编号',
-                },
-                {
-                    field: 'projectName',
-                    width:150,
-                    title: '项目名称',
-                },
-                {
-                    field: 'constructionNecessityAndContent',
-                    width:150,
-                    title: '建设必要性及内容',
-                },
-                {
-                    field: 'constructePurpose',
-                    width:150,
-                    title: '建设目的',
-                },
-                {
-                    field: 'reserveProgress',
-                    width:80,
-                    title: '项目进度',
-                },
-                {
-                    field: 'switchCabinet',
-                    width:80,
-                    title: '开关柜',
-                },
-                {
-                    field: 'overheadLine',
-                    width:80,
-                    title: '架空线路',
-                },
-                {
-                    field: 'powerCable',
-                    width:80,
-                    title: '电力电缆',
-                },
-                {
-                    field: 'cableBranchBox',
-                    width:90,
-                    title: '电缆分支箱',
-                },
-                {
-                    field: 'outdoorRingCage',
-                    width:90,
-                    title: '户外环网箱',
-                },
-                {
-                    field: 'ringRoom',
-                    width:90,
-                    title: '环网室<br>(开关站)',
-                },
-                {
-                    field: 'onColumnSwitch',
-                    width:80,
-                    title: '柱上开关',
-                },
-                {
-                    field: 'switchRoomKVA',
-                    width:100,
-                    title: '配电室(KVA)',
-                },
-                {
-                    field: 'switchRoom',
-                    width:80,
-                    title: '配电室',
-                },
-                {
-                    field: 'boxChangeKVA',
-                    width:90,
-                    title: '箱变(KVA)',
-                },
-                {
-                    field: 'boxChange',
-                    width:80,
-                    title: '箱变',
-                },
-                {
-                    field: 'distributionTransformerKVA',
-                    width:90,
-                    title: '配电变压器<br>(KVA)',
-                },
-                {
-                    field: 'distributionTransformer',
-                    width:90,
-                    title: '配电变压器',
-                },
-                {
-                    field: 'lowVoltageLine',
-                    width:80,
-                    title: '低压线路',
-                },
-                {
-                    field: 'lowVoltageCable',
-                    width:80,
-                    title: '低压电缆',
-                },
-                {
-                    field: 'lowVoltageCableBox',
-                    width:90,
-                    title: '低压电缆<br>分支箱',
-                },
-                {
-                    field: 'lowVoltageCabinet',
-                    width:90,
-                    title: '低压配电柜',
-                },
-                {
-                    field: 'distributeAutoMateTerminalFTU',
-                    width:100,
-                    title: '配电自动<br>化终端(FTU)',
-                },
-                {
-                    field: 'distributeAutoMateTerminalDTU',
-                    width:100,
-                    title: '配电自动<br>化终端(DTU)',
-                },
-                {
-                    field: 'opticalCable',
-                    width:80,
-                    title: '光缆',
-                },
-                {
-                    field: 'cablePassage',
-                    width:80,
-                    title: '电缆通道',
-                },
-                {
-                    field: 'cablePassage',
-                    width:90,
-                    title: '土建工厂化<br>预制',
-                },
-                {
-                    field: 'ancillaryFacility',
-                    width:80,
-                    title: '附属设施',
-                },
-                {
-                    field: 'constructionWorkMethod',
-                    width:80,
-                    title: '施工作业<br>方式',
-                },
-                {
-                    field: 'workWithoutInterruption',
-                    width:90,
-                    title: '不停电作业',
-                },
-                {
-                    field: 'powerFailureHouseNum',
-                    width:90,
-                    title: '停电时户数',
-                },
-                {
-                    field: 'costEstimate',
-                    width:80,
-                    title: '费用估算',
-                },
-                {
-                    field: 'peakSummerProject',
-                    width:100,
-                    title: '是否迎峰<br>度夏项目',
-                },
-                {
-                    field: 'projectReview',
-                    width:90,
-                    title: '通过第几批<br>项目评审',
-                },
-                {
-                    field: 'afterTrialEstimateAmount',
-                    width:90,
-                    title: '概算',
-                },
-        ]
+                [
+                    {checkbox:true,width: 36},
+                    { field: 'switchCabinet', title: '开关柜', valign:"middle", align:"center" },
+                    { field: 'overheadLine', title: '架空线路', valign:"middle", align:"center" },
+                    { field: 'powerCable', title: '电力电缆', valign:"middle", align:"center" },
+                    { field: 'cableBranchBox', title: '电缆分支箱', valign:"middle", align:"center" },
+                    { field: 'outdoorRingCage', title: '户外环网箱', valign:"middle", align:"center" },
+                    { field: 'ringRoom', title: '环网室(开关站)', valign:"middle", align:"center" },
+                    { field: 'onColumnSwitch', title: '柱上开关', valign:"middle", align:"center" },
+                    { field: 'switchRoomKVA', title: '配电室(KVA)', valign:"middle", align:"center" },
+                    { field: 'switchRoom', title: '配电室', valign:"middle", align:"center" },
+                    { field: 'boxChangeKVA', title: '箱变(KVA)', valign:"middle", align:"center" },
+                    { field: 'boxChange', title: '箱变', valign:"middle", align:"center" },
+                    { field: 'distributionTransformerKVA', title: '配电变压器(KVA)', valign:"middle", align:"center" },
+                    { field: 'distributionTransformer', title: '配电变压器', valign:"middle", align:"center" },
+                    { field: 'lowVoltageLine', title: '低压线路', valign:"middle", align:"center" },
+                    { field: 'lowVoltageCable', title: '低压电缆', valign:"middle", align:"center" },
+                    { field: 'lowVoltageCableBox', title: '低压电缆分支箱', valign:"middle", align:"center" },
+                    { field: 'lowVoltageCabinet', title: '低压配电柜', valign:"middle", align:"center" },
+                    { field: 'distributeAutoMateTerminalFTU', title: '配电自动化终端(FTU)', valign:"middle", align:"center" },
+                    { field: 'distributeAutoMateTerminalDTU', title: '配电自动化终端(DTU)', valign:"middle", align:"center" },
+                    { field: 'opticalCable', title: '光缆', valign:"middle", align:"center" },
+                    { field: 'cablePassage', title: '电缆通道', valign:"middle", align:"center" },
+                    { field: 'factoryPrefab', title: '土建工厂化预制', valign:"middle", align:"center" },
+                    { field: 'ancillaryFacility', title: '附属设施', valign:"middle", align:"center" },
+                    { field: 'constructionWorkMethod', title: '施工作业方式', valign:"middle", align:"center" },
+                    { field: 'workWithoutInterruption', title: '不停电作业', valign:"middle", align:"center" },
+                    { field: 'powerFailureHouseNum', title: '停电时户数', valign:"middle", align:"center" },
+
+                ]
+            ]
     });
 
 
@@ -383,6 +236,13 @@ function getIdSelections() {
     });
 }
 
+//表格超出宽度鼠标悬停显示td内容
+function paramsMatter(value,row,index,field) {
+    var span = document.createElement('span');
+    span.setAttribute('title',value);
+    span.innerHTML = value;
+    return span.outerHTML;
+}
 
 //刷新列表
 function refresh() {

+ 9 - 0
src/main/webapp/webpage/modules/cg/statisticalTable/constructeScale/constructeScale.jsp

@@ -18,6 +18,15 @@
 		.table th, .table td {
 			text-align: center;
 			vertical-align: middle !important;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			word-wrap:break-word;
+		}
+		.bootstrap-table .table thead>tr>th {
+			padding: 0;
+			margin: 0;
+			width: 7000px;
 		}
 	</style>
 </head>

+ 0 - 0
src/main/webapp/webpage/modules/cg/statisticalTable/demoliteList/demoliteList.js


部分文件因为文件数量过多而无法显示