瀏覽代碼

储备管理(新)统计表代码修改

wangqiang 2 年之前
父節點
當前提交
c1cb30fadd
共有 37 個文件被更改,包括 1200 次插入408 次删除
  1. 1 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectProUtil.java
  2. 6 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/BudgetStatsMapper.java
  3. 6 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/CableMapper.java
  4. 6 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/ConstructeScaleMapper.java
  5. 5 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/EnginnerQueryMapper.java
  6. 6 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/ProgressStatsMapper.java
  7. 26 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/SpecialSupplyMapper.java
  8. 49 45
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/BudgetStatsMapper.xml
  9. 18 14
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/CableMapper.xml
  10. 25 22
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/ConstructeScaleMapper.xml
  11. 5 5
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/DemoliteListMapper.xml
  12. 6 2
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/EnginnerQueryMapper.xml
  13. 24 24
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/NormativeAuditMapper.xml
  14. 34 31
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/ProgressStatsMapper.xml
  15. 62 2
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/SpecialSupplyMapper.xml
  16. 12 4
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/BudgetStatsService.java
  17. 17 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/CableService.java
  18. 11 3
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/ConstructeScaleService.java
  19. 9 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/EnginnerQueryService.java
  20. 11 3
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/ProgressStatsService.java
  21. 43 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/SpecialSupplyService.java
  22. 1 1
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/util/ExcelExportUtil.java
  23. 65 8
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/util/ExcelImportUtil.java
  24. 67 20
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/BudgetStatsController.java
  25. 19 5
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/CableController.java
  26. 41 5
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ConstructeScaleController.java
  27. 19 3
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/DemoliteListController.java
  28. 209 68
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/EnginnerQueryController.java
  29. 3 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/NormativeAuditController.java
  30. 222 98
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ProgressStatsController.java
  31. 161 32
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/SpecialSupplyController.java
  32. 1 1
      src/main/webapp/webpage/modules/cg/statisticalTable/budgetStats/budgetStats.js
  33. 1 1
      src/main/webapp/webpage/modules/cg/statisticalTable/cable/cable.js
  34. 1 1
      src/main/webapp/webpage/modules/cg/statisticalTable/constructeScale/constructeScale.js
  35. 2 2
      src/main/webapp/webpage/modules/cg/statisticalTable/progressStats/progressStats.js
  36. 2 3
      src/main/webapp/webpage/modules/cg/statisticalTable/specialSupply/specialSupply.js
  37. 4 4
      src/main/webapp/webpage/modules/cg/statisticalTable/specialSupply/specialSupply.jsp

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

@@ -516,7 +516,7 @@ public class ReserveProcessProjectProUtil {
 
     public static void getBmList2(List<String> sjkList, String proId) throws Exception {
         if (!sjkList.contains(proId)){
-            throw new Exception(proId + "等项目在基础信息表中不存在相关数据!");
+            throw new Exception( "项目储备编号为" + proId + "等项目在基础信息表中不存在相关数据!");
         }
     }
 

+ 6 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/BudgetStatsMapper.java

@@ -79,4 +79,10 @@ public interface BudgetStatsMapper extends BaseMapper<BudgetStats> {
      * @return
      */
     History getHistoryByTime(@Param("time")String time,@Param("executeId")String executeId);
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
 }

+ 6 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/CableMapper.java

@@ -17,6 +17,12 @@ import java.util.List;
 public interface CableMapper extends BaseMapper<Cable> {
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
      * 根据项目名称去 甲供材表中获取数据
      * @param name
      * @return

+ 6 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/ConstructeScaleMapper.java

@@ -19,6 +19,12 @@ import java.util.List;
 public interface ConstructeScaleMapper extends BaseMapper<ConstructeScale> {
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
      * 根据 proid 删除对应数据
      * @param proId
      */

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

@@ -33,6 +33,11 @@ public interface EnginnerQueryMapper extends BaseMapper<EnginnerQuery> {
                                @Param("note")String note);
 
     /**
+     * 根据项目名称获取所有甲供材信息
+     * @return
+     */
+    List<MaterialData> getAllMaterialInfo(String name);
+    /**
      * 获取新建土建包封数据总和
      * @return
      */

+ 6 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/ProgressStatsMapper.java

@@ -18,6 +18,12 @@ import java.util.List;
 public interface ProgressStatsMapper extends BaseMapper<ProgressStats> {
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
      * 根据 ProInsId 和时间 去历史节点表查退回意见
      * @param proInsId
      * @return

+ 26 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/SpecialSupplyMapper.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper;
 import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 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.entity.SpecialSupply;
 import org.apache.ibatis.annotations.Param;
 
@@ -15,6 +16,18 @@ import java.util.List;
  **/
 @MyBatisMapper
 public interface SpecialSupplyMapper extends BaseMapper<SpecialSupply> {
+
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    List<String> getAllProId();
+
+    /**
+     * 根据项目名称获取所有甲供材信息
+     * @return
+     */
+    List<MaterialData> getAllMaterialInfo(String name);
     /**
      * 导出数据查询
      * @param specialSupply
@@ -23,6 +36,19 @@ public interface SpecialSupplyMapper extends BaseMapper<SpecialSupply> {
     List<SpecialSupply> exportFindList(SpecialSupply specialSupply);
 
     /**
+     * 根据项目储备id删除对应数据
+     * @param proId
+     */
+    void deleteByProId(String proId);
+
+    /**
+     * 批量添加储备项目概预算统计信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<SpecialSupply> list);
+
+    /**
      * 根据物料编码、甲乙供、扩展描述、备注获取在线开甲供材数据总量
      * @return
      */

+ 49 - 45
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/BudgetStatsMapper.xml

@@ -10,45 +10,46 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
 		a.projectReserveId,
-		a.pretrialEstimateAmount,
-        a.pretrialEstimateAmountExcludeTax,
-        a.pretrialDeductibleAmount,
-        a.pretrialConstructeConsts,
-        a.pretrialMaterialAmount,
-        a.pretrialOtherExpanses,
-        a.pretrialPreliminaryConstructeFee,
-        a.pretrialSurveyFee,
-        a.pretrialDesignFee,
-        a.pretrialSupervisionFee,
-        a.afterTrialEstimateAmount,
-        a.afterTrialEstimateAmountExcludeTax,
-        a.afterTrialDeductibleAmount,
-        a.afterTrialConstructeConsts,
-        a.afterTrialMaterialAmount,
-        a.afterTrialOtherExpanses,
-        a.afterTrialPreliminaryConstructeFee,
-        a.afterTrialSurveyFee,
-        a.afterTrialDesignFee,
-        a.afterTrialSupervisionFee,
-        b.projectYear,
-		b.projectNature,
-		b.demandUnit,
-		b.district,
-		b.projectGroup,
-		b.reserveBatches,
-		b.blockSupply,
-		b.gridNumber,
-		b.cellNumber,
-		b.projectName,
-		b.constructionNecessityAndContent,
-		b.substationName,
-		b.circuitName,
-		b.netRackProjectDivide,
-		b.requirementType,
-		b.costEstimate,
-		b.basicRemarks,
-		c.includeReserve as 'implementPlan',
-		c.initialImplementBatch as implementBatch
+		IFNULL(b.pretrialEstimateAmount,"") as pretrialEstimateAmount,
+		IFNULL(b.pretrialEstimateAmountExcludeTax,"") as pretrialEstimateAmountExcludeTax,
+		IFNULL(b.pretrialDeductibleAmount,"") as pretrialDeductibleAmount,
+		IFNULL(b.pretrialConstructeConsts,"") as pretrialConstructeConsts,
+		IFNULL(b.pretrialMaterialAmount,"") as pretrialMaterialAmount,
+		IFNULL(b.pretrialOtherExpanses,"") as pretrialOtherExpanses,
+		IFNULL(b.pretrialPreliminaryConstructeFee,"") as pretrialPreliminaryConstructeFee,
+		IFNULL(b.pretrialSurveyFee,"") as pretrialSurveyFee,
+		IFNULL(b.pretrialDesignFee,"") as pretrialDesignFee,
+		IFNULL(b.pretrialSupervisionFee,"") as pretrialSupervisionFee,
+		IFNULL(b.afterTrialEstimateAmount,"") as afterTrialEstimateAmount,
+		IFNULL(b.afterTrialEstimateAmountExcludeTax,"") as afterTrialEstimateAmountExcludeTax,
+		IFNULL(b.afterTrialDeductibleAmount,"") as afterTrialDeductibleAmount,
+		IFNULL(b.afterTrialConstructeConsts,"") as afterTrialConstructeConsts,
+		IFNULL(b.afterTrialMaterialAmount,"") as afterTrialMaterialAmount,
+		IFNULL(b.afterTrialOtherExpanses,"") as afterTrialOtherExpanses,
+		IFNULL(b.afterTrialPreliminaryConstructeFee,"") as afterTrialPreliminaryConstructeFee,
+		IFNULL(b.afterTrialSurveyFee,"") as afterTrialSurveyFee,
+		IFNULL(b.afterTrialDesignFee,"") as afterTrialDesignFee,
+		IFNULL(b.afterTrialSupervisionFee,"") as afterTrialSupervisionFee,
+        a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		IFNULL(c.includeReserve,"") as implementPlan,
+		IFNULL(c.initialImplementBatch,"") as implementBatch,
+		IFNULL(c.implementationBatch,"") as projectReleaseBatch
     </sql>
 
     <insert id="insert">
@@ -213,8 +214,8 @@
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_budget_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_budget_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -249,8 +250,8 @@
     <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_budget_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_budget_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -263,8 +264,8 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_budget_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_budget_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -314,4 +315,7 @@
     <select id="getTimeByProID" resultType="java.util.Date">
         SELECT update_date FROM `cg_reserve_company_review` WHERE projectReserveId = #{proId}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

+ 18 - 14
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/CableMapper.xml

@@ -10,14 +10,15 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
         a.projectReserveId,
-        a.civilEngineer,
-        a.pipeLayeCable,
-        a.completePipe,
-        a.completeMeasurement,
-        a.measureLength,
-        a.segmentLengthClassinication,
-        a.remarks,
-        b.ownerProjectManager
+        a.projectName,
+        IFNULL(b.civilEngineer,"") as civilEngineer,
+        IFNULL(b.pipeLayeCable,"") as pipeLayeCable,
+        IFNULL(b.completePipe,"") as completePipe,
+        IFNULL(b.completeMeasurement,"") as completeMeasurement,
+        IFNULL(b.measureLength,"") as measureLength,
+        IFNULL(b.segmentLengthClassinication,"") as segmentLengthClassinication,
+        IFNULL(b.remarks,"") as remarks,
+        a.ownerProjectManager as projectManager
 
     </sql>
 
@@ -102,8 +103,8 @@
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.Cable">
         select
         <include refid="cableColumns"/>
-        from cg_cable a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_cable b
         on a.projectReserveId = b.projectReserveId
         <where>
             a.del_flag = 0
@@ -136,8 +137,8 @@
     <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.Cable">
         select
         <include refid="cableColumns"/>
-        from cg_cable a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_cable b
         on a.projectReserveId = b.projectReserveId
         where a.id = #{id}
     </select>
@@ -145,8 +146,8 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.Cable">
         select
         <include refid="cableColumns"/>
-        from cg_cable a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_cable b
         on a.projectReserveId = b.projectReserveId
         <where>
             a.del_flag = 0
@@ -173,4 +174,7 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
         select materialCode,materialName,extendDescription,unit,totalCount from cg_material_data where projectName = #{name}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

+ 25 - 22
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/ConstructeScaleMapper.xml

@@ -10,22 +10,22 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
 		a.projectReserveId,
-		a.constructePurpose,
-		a.factoryPrefab,
-		a.ancillaryFacility,
-		a.constructionWorkMethod,
-		a.workWithoutInterruption,
-		a.powerFailureHouseNum,
-		a.peakSummerProject,
-		a.projectReview,
-		b.district,
-		b.blockSupply,
-		b.gridNumber,
-		b.cellNumber,
-		b.projectName,
-		b.constructionNecessityAndContent,
-		c.afterTrialEstimateAmount,
-		c.afterTrialEstimateAmountExcludeTax
+		IFNULL(b.constructePurpose,"") as constructePurpose,
+		IFNULL(b.factoryPrefab,"") as factoryPrefab,
+		IFNULL(b.ancillaryFacility,"") as ancillaryFacility,
+		IFNULL(b.constructionWorkMethod,"") as constructionWorkMethod,
+		IFNULL(b.workWithoutInterruption,"") as workWithoutInterruption,
+		IFNULL(b.powerFailureHouseNum,"") as powerFailureHouseNum,
+		IFNULL(b.peakSummerProject,"") as peakSummerProject,
+		IFNULL(b.projectReview,"") as projectReview,
+		a.district,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		IFNULL(c.afterTrialEstimateAmount,"") as afterTrialEstimateAmount,
+		IFNULL(c.afterTrialEstimateAmountExcludeTax,"") as afterTrialEstimateAmountExcludeTax
 
     </sql>
 
@@ -75,8 +75,8 @@
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_constructe_scale a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_constructe_scale b
         on a.projectReserveId = b.projectReserveId
         left join cg_budget_stats c
         on a.projectReserveId = c.projectReserveId
@@ -106,8 +106,8 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_constructe_scale a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_constructe_scale b
         on a.projectReserveId = b.projectReserveId
         left join cg_budget_stats c
         on a.projectReserveId = c.projectReserveId
@@ -142,8 +142,8 @@
     <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_constructe_scale a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_constructe_scale b
         on a.projectReserveId = b.projectReserveId
         left join cg_budget_stats c
         on a.projectReserveId = c.projectReserveId
@@ -168,4 +168,7 @@
         select remarks,materialCode,materialName,extendDescription,unit,totalCount,weightKg,
         weightTon,supplyType,note from cg_material_data where projectName = #{projectName}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 </mapper>

+ 5 - 5
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/DemoliteListMapper.xml

@@ -5,11 +5,11 @@
     <sql id="reserveManagementColumns">
         a.id,
         a.projectReserveId,
-        a.specification,
-        a.unit,
-        a.count,
-        a.remark,
-        a.name as materialName,
+        IFNULL(a.specification,"") as specification,
+        IFNULL(a.unit,"") as unit,
+        IFNULL(a.count,"") as count,
+        IFNULL(a.remark,"") as remark,
+        IFNULL(a.name,"") as materialName,
         b.projectName,
         b.projectYear
 

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

@@ -21,8 +21,8 @@
 		b.requirementType,
 		b.costEstimate,
 		b.basicRemarks,
-		c.includeReserve as implementPlan,
-		c.initialImplementBatch as implementBatch
+		IFNULL(c.includeReserve,"") as implementPlan,
+		IFNULL(c.initialImplementBatch,"") as implementBatch
     </sql>
 
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery">
@@ -135,4 +135,8 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
         SELECT materialCode,extendDescription,totalCount FROM cg_material_data
     </select>
+    <select id="getAllMaterialInfo"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
+        select materialCode,materialName,extendDescription,unit,totalCount,note from cg_material_data where projectName = #{name}
+    </select>
 </mapper>

+ 24 - 24
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/NormativeAuditMapper.xml

@@ -21,30 +21,30 @@
 		a.requirementType,
 		a.costEstimate,
 		a.basicRemarks,
-		b.includeReserve as implementPlan,
-		b.initialImplementBatch as implementBatch,
-		c.budgetStatement as budgetBook,
-		c.projectProposal as projectProposal,
-		c.drawings as blueprint,
-		c.drawingSpecification as designManual,
-		c.demolition as oldInventoryDemolition,
-		c.approvalForm as castPlaceApprovalForm,
-		d.preferedCase as reviewMaterial,
-		d.transferSituation as aSupplyTob,
-		d.budgetTemplateCheck as templateCorrect,
-		d.quotaApplicationCheck as correctApplication,
-		d.workLoadCheck as workloadConsistent,
-		d.checkTheFee as feeCorrect,
-		d.supplyCheck as materialSupplyA,
-		d.materialCheck as materialSupplyB,
-		d.liveWorkFeeCheck as chargeLiveWork,
-		d.demolitionEngineeringProblems as chargeDemolitionWork,
-		d.otherProblem as otherProblem,
-		d.drawingAndSiteProblem as drawingAndSiteProblem,
-		d.communicationProblem as communicationProblem,
-		d.civilPrefabricateProblem as civilPrefabricateProblem,
-		d.liveWorkNumProblem as liveWorkNumProblem,
-		d.projectManagerOtherProblem as projectManagerOtherProblem
+		IFNULL(b.includeReserve,"") as implementPlan,
+		IFNULL(b.initialImplementBatch,"") as implementBatch,
+		IFNULL(c.budgetStatement,"") as budgetBook,
+		IFNULL(c.projectProposal,"") as projectProposal,
+		IFNULL(c.drawings,"") as blueprint,
+		IFNULL(c.drawingSpecification,"") as designManual,
+		IFNULL(c.demolition,"") as oldInventoryDemolition,
+		IFNULL(c.approvalForm,"") as castPlaceApprovalForm,
+		IFNULL(d.preferedCase,"") as reviewMaterial,
+		IFNULL(d.transferSituation,"") as aSupplyTob,
+		IFNULL(d.budgetTemplateCheck,"") as templateCorrect,
+		IFNULL(d.quotaApplicationCheck,"") as correctApplication,
+		IFNULL(d.workLoadCheck,"") as workloadConsistent,
+		IFNULL(d.checkTheFee,"") as feeCorrect,
+		IFNULL(d.supplyCheck,"") as materialSupplyA,
+		IFNULL(d.materialCheck,"") as materialSupplyB,
+		IFNULL(d.liveWorkFeeCheck,"") as chargeLiveWork,
+		IFNULL(d.demolitionEngineeringProblems,"") as chargeDemolitionWork,
+		IFNULL(d.otherProblem,"") as otherProblem,
+		IFNULL(d.drawingAndSiteProblem,"") as drawingAndSiteProblem,
+		IFNULL(d.communicationProblem,"") as communicationProblem,
+		IFNULL(d.civilPrefabricateProblem,"") as civilPrefabricateProblem,
+		IFNULL(d.liveWorkNumProblem,"") as liveWorkNumProblem,
+		IFNULL(d.projectManagerOtherProblem,"") as projectManagerOtherProblem
     </sql>
     <update id="updateDocumentInfo">
         update cg_document_info set

+ 34 - 31
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/ProgressStatsMapper.xml

@@ -10,31 +10,31 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
 		a.projectReserveId,
-		a.inspectDepartmentReview,
-		a.inspectDepartmentReviewTime,
-		a.releaseReserveTime,
-		a.limitDate,
-		a.onSiteConfess,
-		a.confessCompleteTime,
-		a.drawRemarks,
-		a.budgetRemarks,
-		a.drawingUnionRemarks,
-		a.drawingDate,
-        b.projectName,
-        b.requirementType,
-        b.demandUnit,
-        b.reserveBatches,
-        b.basicRemarks,
-        c.includeReserve as implementPlan,
-        c.initialImplementBatch,
-        c.includeReserve,
-        c.drawOfficeDrawn as formalDrawing,
-        d.joinProvincialCompanyReview as provincialCompanyReview,
-        d.batchOfProvincialCompany as provincialCompanyReviewBatch,
-        d.passProvincialCompanyReview as passProvincialCompanyReview,
-        d.reviewComments as causeAnalysis,
-        d.designChangeRequired as designChange,
-        d.companyRemarks as provincialCompanyRemarks
+		IFNULL(b.inspectDepartmentReview,"") as inspectDepartmentReview,
+		IFNULL(b.inspectDepartmentReviewTime,"") as inspectDepartmentReviewTime,
+		IFNULL(b.releaseReserveTime,"") as releaseReserveTime,
+		IFNULL(b.limitDate,"") as limitDate,
+		IFNULL(b.onSiteConfess,"") as onSiteConfess,
+		IFNULL(b.confessCompleteTime,"") as confessCompleteTime,
+		IFNULL(b.drawRemarks,"") as drawRemarks,
+		IFNULL(b.budgetRemarks,"") as budgetRemarks,
+		IFNULL(b.drawingUnionRemarks,"") as drawingUnionRemarks,
+		IFNULL(b.drawingDate,"") as drawingDate,
+        a.projectName,
+        a.requirementType,
+        a.demandUnit,
+        a.reserveBatches,
+        a.basicRemarks,
+        IFNULL(c.includeReserve,"") as implementPlan,
+        IFNULL(c.initialImplementBatch,"") as initialImplementBatch,
+        IFNULL(c.includeReserve,"") as includeReserve,
+        IFNULL(c.drawOfficeDrawn,"") as formalDrawing,
+        IFNULL(d.joinProvincialCompanyReview,"") as provincialCompanyReview,
+        IFNULL(d.batchOfProvincialCompany,"") as provincialCompanyReviewBatch,
+        IFNULL(d.passProvincialCompanyReview,"") as passProvincialCompanyReview,
+        IFNULL(d.reviewComments,"") as causeAnalysis,
+        IFNULL(d.designChangeRequired,"") as designChange,
+        IFNULL(d.companyRemarks,"") as provincialCompanyRemarks
     </sql>
 
     <insert id="insertList">
@@ -87,8 +87,8 @@
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_progress_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_progress_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -125,8 +125,8 @@
     <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_progress_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_progress_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -141,8 +141,8 @@
             resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats">
         select
         <include refid="reserveManagementColumns"/>
-        from cg_progress_stats a
-        left join cg_reserve_process b
+        from cg_reserve_process a
+        left join cg_progress_stats b
         on a.projectReserveId = b.projectReserveId
         left join cg_reserve_summary_statistics c
         on a.projectReserveId = c.projectReserveId
@@ -202,6 +202,9 @@
         SELECT MESSAGE_ FROM `act_hi_comment`
         WHERE PROC_INST_ID_ = #{proInsId}  AND TIME_ = #{time}
     </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 
 
 </mapper>

+ 62 - 2
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/mapper/xml/SpecialSupplyMapper.xml

@@ -21,9 +21,56 @@
 		b.requirementType,
 		b.costEstimate,
 		b.basicRemarks,
-		c.includeReserve as implementPlan,
-		c.initialImplementBatch as implementBatch
+		IFNULL(c.includeReserve,"") as implementPlan,
+		IFNULL(c.initialImplementBatch,"") as implementBatch,
+		IFNULL(d.numberOfBranchBoxFourWay,"") as numberOfBranchBoxFourWay,
+		IFNULL(d.numberOfBranchBoxFiveWay,"") as numberOfBranchBoxFiveWay,
+		IFNULL(d.numberOfBranchBoxSevenWay,"") as numberOfBranchBoxSevenWay,
+		IFNULL(d.specialSizeA,"") as specialSizeA,
+		IFNULL(d.specialSizeB,"") as specialSizeB,
+		IFNULL(d.specialSizeC,"") as specialSizeC,
+		IFNULL(d.specialSizeD,"") as specialSizeD
     </sql>
+    <insert id="insertList">
+        insert into cg_special_supply (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectReserveId,
+        numberOfBranchBoxFourWay,
+        numberOfBranchBoxFiveWay,
+        numberOfBranchBoxSevenWay,
+        specialSizeA,
+        specialSizeB,
+        specialSizeC,
+        specialSizeD
+        )
+        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.numberOfBranchBoxFourWay},
+            #{item.numberOfBranchBoxFiveWay},
+            #{item.numberOfBranchBoxSevenWay},
+            #{item.specialSizeA},
+            #{item.specialSizeB},
+            #{item.specialSizeC},
+            #{item.specialSizeD}
+            )
+        </foreach>
+    </insert>
+    <delete id="deleteByProId">
+        delete from cg_special_supply where projectReserveId = #{proId}
+    </delete>
 
     <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply">
         select
@@ -31,6 +78,8 @@
         from cg_reserve_process b
         left join cg_reserve_summary_statistics c
         on b.projectReserveId = c.projectReserveId
+        left join cg_special_supply d
+        on b.projectReserveId = d.projectReserveId
         <where>
             b.del_flag = 0
             <if test="projectReserveId!=null and projectReserveId!=''">
@@ -60,6 +109,8 @@
         from cg_reserve_process b
         left join cg_reserve_summary_statistics c
         on b.projectReserveId = c.projectReserveId
+        left join cg_special_supply d
+        on b.projectReserveId = d.projectReserveId
         <where>
             b.del_flag = 0
             <if test="projectReserveId!=null and projectReserveId!=''">
@@ -88,6 +139,8 @@
         from cg_reserve_process b
         left join cg_reserve_summary_statistics c
         on b.projectReserveId = c.projectReserveId
+        left join cg_special_supply d
+        on b.projectReserveId = d.projectReserveId
         where b.id = #{id}
     </select>
     <select id="getData" resultType="java.lang.Double">
@@ -115,6 +168,13 @@
     <select id="getByExecuteId" resultType="java.lang.String">
         SELECT NAME_ FROM `act_ru_task` WHERE EXECUTION_ID_ = #{executeId}
     </select>
+    <select id="getAllMaterialInfo"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData">
+        select materialCode,materialName,extendDescription,unit,totalCount,note from cg_material_data where projectName = #{name}
+    </select>
+    <select id="getAllProId" resultType="java.lang.String">
+        select projectReserveId from cg_reserve_process
+    </select>
 
 
 </mapper>

+ 12 - 4
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/BudgetStatsService.java

@@ -27,6 +27,14 @@ public class BudgetStatsService extends CrudService<BudgetStatsMapper, BudgetSta
     private BudgetStatsMapper dao;
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
      * 获取省公司评审表的  更新时间
      * @param proId
      * @return
@@ -63,12 +71,12 @@ public class BudgetStatsService extends CrudService<BudgetStatsMapper, BudgetSta
     }
 
     /**
-     * 删除方法
-     * @param budgetStats
+     * 根据项目储备编号删除方法
+     * @param proId
      */
     @Transactional(readOnly = false)
-    public void delete(BudgetStats budgetStats) {
-        super.delete(budgetStats);
+    public void deleteByProId(String proId) {
+        dao.deleteByProId(proId);
     }
 
     public int selectCount(String projectReserveId){

+ 17 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/CableService.java

@@ -24,6 +24,14 @@ public class CableService extends CrudService<CableMapper, Cable> {
     private CableMapper dao;
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
      * 根据项目名称去 甲供材表中获取数据
      * @param name
      * @return
@@ -51,4 +59,13 @@ public class CableService extends CrudService<CableMapper, Cable> {
         return pageList;
     }
 
+    /**
+     * 根据项目储备编号删除方法
+     * @param proId
+     */
+    @Transactional(readOnly = false)
+    public void deleteByProId(String proId) {
+        dao.deleteByProId(proId);
+    }
+
 }

+ 11 - 3
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/ConstructeScaleService.java

@@ -27,6 +27,14 @@ public class ConstructeScaleService extends CrudService<ConstructeScaleMapper, C
     @Autowired
     private ConstructeScaleMapper dao;
 
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
     @Transactional(readOnly = false)
     public void insertList(@Param("list") List<ConstructeScale> list) {
         List<ConstructeScale> scaleList = dao.exportFindList(null);
@@ -49,11 +57,11 @@ public class ConstructeScaleService extends CrudService<ConstructeScaleMapper, C
     /**
      * 删除方法
      *
-     * @param constructeScale
+     * @param proId
      */
     @Transactional(readOnly = false)
-    public void delete(ConstructeScale constructeScale) {
-        super.delete(constructeScale);
+    public void deleteByProId(String proId) {
+        dao.deleteByProId(proId);
     }
 
     public List<ConstructeScale> exportFindList(ConstructeScale constructeScale) {

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

@@ -73,4 +73,13 @@ public class EnginnerQueryService extends CrudService<EnginnerQueryMapper, Engin
     public String getByExecuteId(String executeId){
         return queryMapper.getByExecuteId(executeId);
     }
+
+    /**
+     * 根据项目名称去 甲供材表中获取数据
+     * @param name
+     * @return
+     */
+    public List<MaterialData> getByProjectName(String name){
+        return queryMapper.getAllMaterialInfo(name);
+    }
 }

+ 11 - 3
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/ProgressStatsService.java

@@ -26,6 +26,14 @@ public class ProgressStatsService extends CrudService<ProgressStatsMapper, Progr
     private ProgressStatsMapper dao;
 
     /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return dao.getAllProId();
+    }
+
+    /**
      * 根据 ProInsId 和时间 去历史节点表查退回意见
      * @param proInsId
      * @return
@@ -55,11 +63,11 @@ public class ProgressStatsService extends CrudService<ProgressStatsMapper, Progr
 
     /**
      * 删除方法
-     * @param progressStats
+     * @param proId
      */
     @Transactional(readOnly = false)
-    public void delete(ProgressStats progressStats) {
-        super.delete(progressStats);
+    public void deleteByProId(String proId) {
+        dao.deleteByProId(proId);
     }
 
     public int selectCount(String projectReserveId){

+ 43 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/service/SpecialSupplyService.java

@@ -3,8 +3,10 @@ package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service;
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
 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.entity.SpecialSupply;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.mapper.SpecialSupplyMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -23,6 +25,14 @@ public class SpecialSupplyService extends CrudService<SpecialSupplyMapper, Speci
     @Autowired
     private SpecialSupplyMapper supplyMapper;
 
+    /**
+     * 获取所有的  项目储备编号
+     * @return
+     */
+    public List<String> getAllProId(){
+        return supplyMapper.getAllProId();
+    }
+
     public Page<SpecialSupply> findPage(Page<SpecialSupply> page, SpecialSupply specialSupply) {
         Page<SpecialSupply> pageList = super.findPage(page, specialSupply);
         return pageList;
@@ -48,4 +58,37 @@ public class SpecialSupplyService extends CrudService<SpecialSupplyMapper, Speci
     public String getByExecuteId(String executeId){
         return supplyMapper.getByExecuteId(executeId);
     }
+
+    @Transactional(readOnly = false)
+    public void insertList(@Param("list") List<SpecialSupply> list){
+        List<SpecialSupply> statsList = supplyMapper.exportFindList(null);
+        for(SpecialSupply budgetStats : list){
+            statsList.forEach(sta->{
+                if (sta.getProjectReserveId().equals(budgetStats.getProjectReserveId())){
+                    supplyMapper.deleteByProId(sta.getProjectReserveId());
+                }
+            });
+            budgetStats.preInsert();
+        }
+
+        supplyMapper.insertList(list);
+    }
+
+    /**
+     * 根据项目储备编号删除方法
+     * @param proId
+     */
+    @Transactional(readOnly = false)
+    public void deleteByProId(String proId) {
+        supplyMapper.deleteByProId(proId);
+    }
+
+    /**
+     * 根据项目名称去 甲供材表中获取数据
+     * @param name
+     * @return
+     */
+    public List<MaterialData> getByProjectName(String name){
+        return supplyMapper.getAllMaterialInfo(name);
+    }
 }

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

@@ -128,7 +128,7 @@ public class ExcelExportUtil {
     public void exportBasic(HttpServletResponse response, XSSFWorkbook workbook, List<BudgetStats> 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);

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

@@ -1,9 +1,6 @@
 package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util;
 
-import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.BudgetStats;
-import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.Cable;
-import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ConstructeScale;
-import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.ProgressStats;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.*;
 import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Row;
@@ -26,7 +23,7 @@ public class ExcelImportUtil {
      * @param importUtil
      * @return List<BudgetStats> 导入表格数据
      */
-    public static List<Cable> getCableUtil(ImportUtil importUtil) throws ParseException {
+    public static List<Cable> getCableUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<Cable> list = new ArrayList<Cable>();
         Cable cable = null;
@@ -41,6 +38,10 @@ public class ExcelImportUtil {
             if (StringUtils.isNotBlank(projectReserveId)) {
 
                 cable.setProjectReserveId((String) importUtil.getCellValue(row, 3));
+
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList,cable.getProjectReserveId());
+
                 cable.setCivilEngineer((String) importUtil.getCellValue(row, 6));
                 cable.setPipeLayeCable((String) importUtil.getCellValue(row, 7));
                 cable.setCompletePipe((String) importUtil.getCellValue(row, 8));
@@ -61,7 +62,7 @@ public class ExcelImportUtil {
      * @param importUtil
      * @return List<BudgetStats> 导入表格数据
      */
-    public static List<BudgetStats> getBudgetUtil(ImportUtil importUtil) throws ParseException {
+    public static List<BudgetStats> getBudgetUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<BudgetStats> list = new ArrayList<BudgetStats>();
         BudgetStats budgetStats = null;
@@ -76,6 +77,9 @@ public class ExcelImportUtil {
             if (StringUtils.isNotBlank(projectReserveId)) {
 
                 budgetStats.setProjectReserveId((String) importUtil.getCellValue(row, 10));
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList,budgetStats.getProjectReserveId());
+
                 budgetStats.setPretrialEstimateAmount((String) importUtil.getCellValue(row, 32));
                 budgetStats.setPretrialEstimateAmountExcludeTax((String) importUtil.getCellValue(row, 33));
                 budgetStats.setPretrialDeductibleAmount((String) importUtil.getCellValue(row, 34));
@@ -104,12 +108,51 @@ public class ExcelImportUtil {
     }
 
     /**
+     * 获取储备项目特殊物资统计表表格数据
+     *
+     * @param importUtil
+     * @return List<SpecialSupply> 导入表格数据
+     */
+    public static List<SpecialSupply> getSpecialUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<SpecialSupply> list = new ArrayList<SpecialSupply>();
+        SpecialSupply specialSupply = null;
+
+        for(int i=2; i<=lastRow;i++) {
+            specialSupply = new SpecialSupply();
+            Row row = importUtil.getRow(i);
+
+//            String reserveProjectName = (String) importUtil.getCellValue(row, 1);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if (StringUtils.isNotBlank(projectReserveId)) {
+
+                specialSupply.setProjectReserveId((String) importUtil.getCellValue(row, 10));
+
+                //和基本信息表比对,是否有对应的数据
+                getBmList2(proIdList,specialSupply.getProjectReserveId());
+
+                specialSupply.setNumberOfBranchBoxFourWay((String) importUtil.getCellValue(row, 32));
+                specialSupply.setNumberOfBranchBoxFiveWay((String) importUtil.getCellValue(row, 33));
+                specialSupply.setNumberOfBranchBoxSevenWay((String) importUtil.getCellValue(row, 34));
+                specialSupply.setSpecialSizeA((String) importUtil.getCellValue(row, 36));
+                specialSupply.setSpecialSizeB((String) importUtil.getCellValue(row, 37));
+                specialSupply.setSpecialSizeC((String) importUtil.getCellValue(row, 38));
+                specialSupply.setSpecialSizeD((String) importUtil.getCellValue(row, 39));
+
+                list.add(specialSupply);
+            }
+        }
+        return list;
+    }
+
+    /**
      * 获取储备进度统计表表格数据
      *
      * @param importUtil
      * @return List<BudgetStats> 导入表格数据
      */
-    public static List<ProgressStats> getProgressUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ProgressStats> getProgressUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ProgressStats> list = new ArrayList<ProgressStats>();
         ProgressStats progressStats = null;
@@ -124,6 +167,10 @@ public class ExcelImportUtil {
             if (StringUtils.isNotBlank(reserveProjectName)) {
                 if (StringUtils.isNotBlank(projectReserveId)) {
                     progressStats.setProjectReserveId((String) importUtil.getCellValue(row, 0));//项目储备编号
+
+                    //和基本信息表比对,是否有对应的数据
+                    getBmList2(proIdList,progressStats.getProjectReserveId());
+
                     progressStats.setInspectDepartmentReview((String) importUtil.getCellValue(row, 9));//是否通过运检部评审
 
                     if (StringUtils.isNotEmpty((String) importUtil.getCellValue(row, 10))){
@@ -201,7 +248,7 @@ public class ExcelImportUtil {
      * @param importUtil
      * @return List<BudgetStats> 导入表格数据
      */
-    public static List<ConstructeScale> getConstructeUtil(ImportUtil importUtil) throws ParseException {
+    public static List<ConstructeScale> getConstructeUtil(ImportUtil importUtil,List<String> proIdList) throws Exception {
         int lastRow = importUtil.getLastDataRowNum();
         List<ConstructeScale> list = new ArrayList<ConstructeScale>();
         ConstructeScale constructeScale = null;
@@ -216,6 +263,10 @@ public class ExcelImportUtil {
             if (StringUtils.isNotBlank(reserveProjectName)) {
                 if (StringUtils.isNotBlank(projectReserveId)) {
                     constructeScale.setProjectReserveId((String) importUtil.getCellValue(row, 6));//项目储备编号
+
+                    //和基本信息表比对,是否有对应的数据
+                    getBmList2(proIdList,constructeScale.getProjectReserveId());
+
                     constructeScale.setConstructePurpose((String) importUtil.getCellValue(row, 9));//建设目的
                     constructeScale.setFactoryPrefab((String) importUtil.getCellValue(row, 32));//土建工厂化预制
                     constructeScale.setAncillaryFacility((String) importUtil.getCellValue(row, 33));//附属设施
@@ -240,4 +291,10 @@ public class ExcelImportUtil {
         String format1 = format.format(parse);
         return format1;
     }
+
+    public static void getBmList2(List<String> sjkList, String proId) throws Exception {
+        if (!sjkList.contains(proId)){
+            throw new Exception("项目储备编号为" + proId + "等项目在基础信息表中不存在相关数据!");
+        }
+    }
 }

+ 67 - 20
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/BudgetStatsController.java

@@ -102,22 +102,43 @@ public class BudgetStatsController extends BaseController {
                 String procInsId = statsService.getByProjectReserveId(stats.getProjectReserveId());
                 //根据procInsId查出历史流程名称和时间
                 List<History> histories = statsService.getHistoryByExecuteId(procInsId);
-                String endTime = histories.get(0).getEndTime();
-                //读取省公司评审表 根据项目储备id 获取它的更新时间
-                Date timeByProID = statsService.getTimeByProID(stats.getProjectReserveId());
-                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                Date date1 = format.parse(endTime);
-                if (date1.before(timeByProID)){
-                    stats.setCompleteTime(format.format(timeByProID));
-                }else {
-                    stats.setCompleteTime(endTime);
+                if (null != histories) {
+                    String endTime = histories.get(0).getEndTime();
+                    //读取省公司评审表 根据项目储备id 获取它的更新时间
+                    Date timeByProID = statsService.getTimeByProID(stats.getProjectReserveId());
+                    if (null != timeByProID) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        Date date1 = format.parse(endTime);
+                        if (date1.before(timeByProID)){
+                            stats.setCompleteTime(format.format(timeByProID));
+                        }else {
+                            stats.setCompleteTime(endTime);
+                        }
+                    } else {
+                        stats.setCompleteTime(endTime);
+                    }
                 }
 
             }else if (stats.getReserveProgress().equals("设计委托审核完成")){
                 stats.setBudgetRevision("无需修改");
             }else if (stats.getReserveProgress().equals("设计委托审核中")){
                 stats.setBudgetRevision("空");
+            } else {
+                stats.setBudgetRevision("");
+                stats.setCompleteTime("");
             }
+            stats.setOwnerProjectManager("");
+            stats.setSiteManagementUnit("");
+            stats.setElectricalProjectManager("");
+            stats.setCivilEngineerProjectManager("");
+            stats.setElectricalSubcontractor("");
+            stats.setElectricalContact("");
+            stats.setCivilEngineerSubcontractor("");
+            stats.setCivilEngineerContact("");
+            stats.setSubcontractInfoRemark("");
+
+            stats.setDesignChange("");
+            stats.setDesignChangeStatus("");
 
 
 
@@ -137,8 +158,11 @@ public class BudgetStatsController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = statsService.getAllProId();
             //获取导入表格所有数据
-            List<BudgetStats> budgetStats = ExcelImportUtil.getBudgetUtil(importUtil);
+            List<BudgetStats> budgetStats = ExcelImportUtil.getBudgetUtil(importUtil,proIdList);
             statsService.insertList(budgetStats);
         } catch (Exception e) {
             j.setSuccess(false);
@@ -157,7 +181,7 @@ public class BudgetStatsController extends BaseController {
         AjaxJson j = new AjaxJson();
         String idArray[] =ids.split(",");
         for(String id : idArray){
-            statsService.delete(statsService.get(id));
+            statsService.deleteByProId(statsService.get(id).getProjectReserveId());
         }
         j.setMsg("删除储备项目概预算信息成功");
         return j;
@@ -185,22 +209,45 @@ public class BudgetStatsController extends BaseController {
                 String procInsId = statsService.getByProjectReserveId(stats.getProjectReserveId());
                 //根据procInsId查出历史流程名称和时间
                 List<History> histories = statsService.getHistoryByExecuteId(procInsId);
-                String endTime = histories.get(0).getEndTime();
-                //读取省公司评审表 根据项目储备id 获取它的更新时间
-                Date timeByProID = statsService.getTimeByProID(stats.getProjectReserveId());
-                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                Date date1 = format.parse(endTime);
-                if (date1.before(timeByProID)){
-                    stats.setCompleteTime(format.format(timeByProID));
-                }else {
-                    stats.setCompleteTime(endTime);
+                if (null != histories) {
+                    String endTime = histories.get(0).getEndTime();
+                    //读取省公司评审表 根据项目储备id 获取它的更新时间
+                    Date timeByProID = statsService.getTimeByProID(stats.getProjectReserveId());
+                    if (null != timeByProID) {
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        Date date1 = format.parse(endTime);
+                        if (date1.before(timeByProID)){
+                            stats.setCompleteTime(format.format(timeByProID));
+                        }else {
+                            stats.setCompleteTime(endTime);
+                        }
+                    } else {
+                        stats.setCompleteTime(endTime);
+                    }
                 }
 
             }else if (stats.getReserveProgress().equals("设计委托审核完成")){
                 stats.setBudgetRevision("无需修改");
             }else if (stats.getReserveProgress().equals("设计委托审核中")){
                 stats.setBudgetRevision("空");
+            } else {
+                stats.setBudgetRevision("");
+                stats.setCompleteTime("");
             }
+            stats.setOwnerProjectManager("");
+            stats.setSiteManagementUnit("");
+            stats.setElectricalProjectManager("");
+            stats.setCivilEngineerProjectManager("");
+            stats.setElectricalSubcontractor("");
+            stats.setElectricalContact("");
+            stats.setCivilEngineerSubcontractor("");
+            stats.setCivilEngineerContact("");
+            stats.setSubcontractInfoRemark("");
+
+            stats.setDesignChange("");
+            stats.setDesignChangeStatus("");
+
+
 
             statsList.add(stats);
         }

+ 19 - 5
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/CableController.java

@@ -113,8 +113,14 @@ public class CableController extends BaseController {
                         ca.setSpecifications("电力电缆,AC10kV,YJV,70,3,22,ZC,无阻水");
                         ca.setDesignCableLength(sum3 + "");
                         cableList.add(ca);
+                    } else {
+                        ca.setSpecifications("");
+                        ca.setDesignCableLength("");
                     }
                 }
+            } else {
+                ca.setSpecifications("");
+                ca.setDesignCableLength("");
             }
 
         }
@@ -132,7 +138,7 @@ public class CableController extends BaseController {
         AjaxJson j = new AjaxJson();
         String idArray[] =ids.split(",");
         for(String id : idArray){
-            cableService.delete(cableService.get(id));
+            cableService.deleteByProId(cableService.get(id).getProjectReserveId());
         }
         j.setMsg("删除电缆段长统计表信息成功");
         return j;
@@ -148,8 +154,10 @@ public class CableController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = cableService.getAllProId();
             //获取导入表格所有数据
-            List<Cable> cables = ExcelImportUtil.getCableUtil(importUtil);
+            List<Cable> cables = ExcelImportUtil.getCableUtil(importUtil,proIdList);
             cableService.insertList(cables);
         } catch (Exception e) {
             j.setSuccess(false);
@@ -179,25 +187,31 @@ public class CableController extends BaseController {
             if (dataList.size()>0){
                 for (int j=0;j<dataList.size();j++){
                     if (dataList.get(j).getMaterialCode().equals("500108108") &
-                            dataList.get(j).getExtendDescription().equals("电力电缆,AC10kV,YJV,400,3,22,ZC,无阻水")){
+                            dataList.get(j).getMaterialName().equals("电力电缆,AC10kV,YJV,400,3,22,ZC,无阻水")){
                         sum1 += Double.parseDouble(dataList.get(j).getTotalCount());
                         ca.setSpecifications("电力电缆,AC10kV,YJV,400,3,22,ZC,无阻水");
                         ca.setDesignCableLength(sum1 + "");
                         cableList.add(ca);
                     }else if (dataList.get(j).getMaterialCode().equals("500108302") &
-                            dataList.get(j).getExtendDescription().equals("电力电缆,AC10kV,YJV,240,3,22,ZC,无阻水")){
+                            dataList.get(j).getMaterialName().equals("电力电缆,AC10kV,YJV,240,3,22,ZC,无阻水")){
                         sum2 += Double.parseDouble(dataList.get(j).getTotalCount());
                         ca.setSpecifications("电力电缆,AC10kV,YJV,240,3,22,ZC,无阻水");
                         ca.setDesignCableLength(sum2 + "");
                         cableList.add(ca);
                     }else if (dataList.get(j).getMaterialCode().equals("500108478") &
-                            dataList.get(j).getExtendDescription().equals("电力电缆,AC10kV,YJV,70,3,22,ZC,无阻水")){
+                            dataList.get(j).getMaterialName().equals("电力电缆,AC10kV,YJV,70,3,22,ZC,无阻水")){
                         sum3 += Double.parseDouble(dataList.get(j).getTotalCount());
                         ca.setSpecifications("电力电缆,AC10kV,YJV,70,3,22,ZC,无阻水");
                         ca.setDesignCableLength(sum3 + "");
                         cableList.add(ca);
+                    } else {
+                        ca.setSpecifications("");
+                        ca.setDesignCableLength("");
                     }
                 }
+            } else {
+                ca.setSpecifications("");
+                ca.setDesignCableLength("");
             }
 
         }

+ 41 - 5
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ConstructeScaleController.java

@@ -69,9 +69,9 @@ public class ConstructeScaleController extends BaseController {
         AjaxJson j = new AjaxJson();
         String idArray[] =ids.split(",");
         for(String id : idArray){
-            scaleService.delete(scaleService.get(id));
+            scaleService.deleteByProId(scaleService.get(id).getProjectReserveId());
         }
-        j.setMsg("删除储备进度信息成功");
+        j.setMsg("删除储备项目建设规模统计表信息成功");
         return j;
     }
 
@@ -265,11 +265,16 @@ public class ConstructeScaleController extends BaseController {
                                     num = dltdSum + "";
                                     scale.setCablePassage(num);
                                 }
+                            } else {
+                                scale = setValue(scale);
                             }
                         }
                     }
                 }
+            } else {
+                scale = setValue(scale);
             }
+            scale.setCityCompany("国网镇江供电公司");
             list.add(scale);
         }
 
@@ -287,8 +292,10 @@ public class ConstructeScaleController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = scaleService.getAllProId();
             //获取导入表格所有数据
-            List<ConstructeScale> budgetStats = ExcelImportUtil.getConstructeUtil(importUtil);
+            List<ConstructeScale> budgetStats = ExcelImportUtil.getConstructeUtil(importUtil,proIdList);
             scaleService.insertList(budgetStats);
         } catch (Exception e) {
             j.setSuccess(false);
@@ -315,7 +322,6 @@ public class ConstructeScaleController extends BaseController {
             //根据proc_ins_id去运行时任务节点表(act_ru_task)中查出当前流程名称
             //设置储备进度
             scale.setReserveProgress(budgetStatsService.getReserveProgress(scale.getProjectReserveId()));
-
             //设置费用估算
             if (StringUtils.isNotEmpty(scale.getAfterTrialEstimateAmountExcludeTax())){
                 Double num = Double.valueOf(scale.getAfterTrialEstimateAmountExcludeTax());
@@ -364,7 +370,6 @@ public class ConstructeScaleController extends BaseController {
                                     && detailList.get(k).getMaterialDescription().equals(materialDataList.get(j).getMaterialName())){
                                 if (detailList.get(k).getProjectCategory().equals("开关柜")){
                                     kgSum += Double.parseDouble(materialDataList.get(j).getTotalCount());
-                                    num = kgSum + "";
                                     scale.setSwitchCabinet(num);
                                 }
                                 if (detailList.get(k).getProjectCategory().equals("架空线路")){
@@ -467,11 +472,16 @@ public class ConstructeScaleController extends BaseController {
                                     num = dltdSum + "";
                                     scale.setCablePassage(num);
                                 }
+                            } else {
+                                scale = setValue(scale);
                             }
                         }
                     }
                 }
+            } else {
+                scale = setValue(scale);
             }
+            scale.setCityCompany("国网镇江供电公司");
             list.add(scale);
         }
         //生成序列号
@@ -486,4 +496,30 @@ public class ConstructeScaleController extends BaseController {
         util.exportConstructe(response,workbook,list);
     }
 
+
+    public ConstructeScale setValue(ConstructeScale scale){
+        scale.setSwitchCabinet("");
+        scale.setOverheadLine("");
+        scale.setPowerCable("");
+        scale.setCableBranchBox("");
+        scale.setOutdoorRingCage("");
+        scale.setRingRoom("");
+        scale.setOnColumnSwitch("");
+        scale.setSwitchRoomKVA("");
+        scale.setSwitchRoom("");
+        scale.setBoxChangeKVA("");
+        scale.setBoxChange("");
+        scale.setDistributionTransformerKVA("");
+        scale.setDistributionTransformer("");
+        scale.setLowVoltageLine("");
+        scale.setLowVoltageCable("");
+        scale.setLowVoltageCableBox("");
+        scale.setLowVoltageCabinet("");
+        scale.setDistributeAutoMateTerminalFTU("");
+        scale.setDistributeAutoMateTerminalDTU("");
+        scale.setOpticalCable("");
+        scale.setCablePassage("");
+        scale.setCostEstimate("");
+        return scale;
+    }
 }

+ 19 - 3
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/DemoliteListController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -74,6 +75,15 @@ public class DemoliteListController extends BaseController {
     public Map<String, Object> basicData(DemoliteList demoliteList, HttpServletRequest request, HttpServletResponse response, Model model) {
 
         Page<DemoliteList> page = listService.findPage(new Page<DemoliteList>(request, response), demoliteList);
+        List<DemoliteList> list = page.getList();
+        List<DemoliteList> demoliteLists = new ArrayList<>();
+        DemoliteList demo;
+        for (int i=0;i<list.size();i++){
+            demo = list.get(i);
+            demo.setProjectNumber("");
+            demoliteLists.add(demo);
+        }
+        page.setList(demoliteLists);
         return getBootstrapData(page);
     }
 
@@ -99,16 +109,22 @@ public class DemoliteListController extends BaseController {
     @RequestMapping(value = "export")
     public void exportExcel(DemoliteList demoliteList, HttpServletRequest request, HttpServletResponse response) {
         List<DemoliteList> list = listService.exportFindList(demoliteList);
-
+        List<DemoliteList> demoliteLists = new ArrayList<>();
+        DemoliteList demo;
+        for (int i=0;i<list.size();i++){
+            demo = list.get(i);
+            demo.setProjectNumber("");
+            demoliteLists.add(demo);
+        }
         //生成序列号
         int i = 1;
-        for (DemoliteList s : list) {
+        for (DemoliteList s : demoliteLists) {
             s.setId(String.valueOf(i));
             i++;
         }
 
         ExcelExportUtil util = ExcelExportUtil.getOne();
         XSSFWorkbook workbook = util.getWorkbook("demoliteList");
-        util.exportDemoliteList(response,workbook,list);
+        util.exportDemoliteList(response,workbook,demoliteLists);
     }
 }

+ 209 - 68
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/EnginnerQueryController.java

@@ -4,6 +4,7 @@ import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.EnginnerQuery;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.MaterialData;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.BudgetStatsService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.EnginnerQueryService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelExportUtil;
@@ -88,46 +89,112 @@ public class EnginnerQueryController extends BaseController {
             query.setReserveProgress(budgetStatsService.getReserveProgress(query.getProjectReserveId()));
 
             //设置立杆信息数据
-            //根据物料编码查询物料总量
-            Double sum1 = queryService.getData("500033660","","");
-            Double sum2 = queryService.getData("500013972","","");
-            Double sum3 = queryService.getData("500013974","","");
-            Double sum4 = queryService.getData("500033743","","");
-            Double sum5 = queryService.getData("乙供","等径水泥杆,300mm,9m,18φ16,下","");
-            Double sum6 = queryService.getData("500124726","","");
-            query.setPole190X10(sum1 == null ? "" : sum1 + "");
-            query.setPole190X12(sum2 == null ? "" : sum2 + "");
-            query.setPole190X15(sum3 == null ? "" : sum3 + "");
+            Double sum1 = 0.0;
+            Double sum2 = 0.0;
+            Double sum3 = 0.0;
+            Double sum4 = 0.0;
+            Double sum5 = 0.0;
+            Double sum6 = 0.0;
+            Double guan1 = 0.0;
+            Double guan2 = 0.0;
+            Double guan3 = 0.0;
+            Double guan4 = 0.0;
+            Double guan5 = 0.0;
+            Double guan6 = 0.0;
+            Double guan7 = 0.0;
+            Double guan8 = 0.0;
+            Double guan9 = 0.0;
+            Double guan10 = 0.0;
+            //根据物料编码 和 物料描述从cg_material_data表中获取相应的数据
+            List<MaterialData> dataList = queryService.getByProjectName(query.getProjectName());
+            if (dataList.size()>0){
+                for (int j=0;j<dataList.size();j++){
+                    if (dataList.get(j).getMaterialCode().equals("500033660")){
+                        sum1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500013972")){
+                        sum2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500013974")){
+                        sum3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500033743")){
+                        sum4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("乙供") &
+                            dataList.get(j).getExtendDescription().equals("等径水泥杆,300mm,9m,18φ16,下")){
+                        sum5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500124726")){
+                        sum6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B") &
+                            dataList.get(j).getNote().equals("每基6.18吨(含基础+地脚螺栓)")){
+                        guan1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B") &
+                            dataList.get(j).getNote().equals("每基2.78吨(不含基础,含地脚螺栓)")){
+                        guan2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-D") &
+                            dataList.get(j).getNote().equals("每基6.42吨(含基础+地脚螺栓)")){
+                        guan3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-D") &
+                            dataList.get(j).getNote().equals("每基3.02吨(不含基础,含地脚螺栓)")){
+                        guan4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-B") &
+                            dataList.get(j).getNote().equals("每基8.71吨(含基础+地脚螺栓)")){
+                        guan5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-B") &
+                            dataList.get(j).getNote().equals("每基4.01吨(不含基础,含地脚螺栓)")){
+                        guan6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-E") &
+                            dataList.get(j).getNote().equals("每基8.1吨(含基础+地脚螺栓)")){
+                        guan7 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-E") &
+                            dataList.get(j).getNote().equals("每基4.31吨(不含基础,含地脚螺栓)")){
+                        guan8 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH39-13-B") &
+                            dataList.get(j).getNote().equals("每基11.24吨(含基础+地脚螺栓)")){
+                        guan9 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH39-13-B") &
+                            dataList.get(j).getNote().equals("每基5.8吨(不含基础,含地脚螺栓)")){
+                        guan10 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                }
+            }
+            query.setPole190X10(doubleToString(sum1));
+            query.setPole190X12(doubleToString(sum2));
+            query.setPole190X15(doubleToString(sum3));
             query.setPole230X15("");
-            query.setPole230X18(sum4 == null ? "" : sum4 + "");
-            query.setPole300X9(sum5 == null ? "" : sum5 + "");
-            query.setPole350X15(sum6 == null ? "" : sum6 + "");
+            query.setPole230X18(doubleToString(sum4));
+            query.setPole300X9(doubleToString(sum5));
+            query.setPole350X15(doubleToString(sum6));
             //设置钢管杆信息
-            Double guan1 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基6.18吨(含基础+地脚螺栓)");
-            Double guan2 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基2.78吨(不含基础,含地脚螺栓)");
-            Double guan3 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基6.42吨(含基础+地脚螺栓)");
-            Double guan4 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基3.02吨(不含基础,含地脚螺栓)");
-            Double guan5 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基8.71吨(含基础+地脚螺栓)");
-            Double guan6 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基4.01吨(不含基础,含地脚螺栓)");
-            Double guan7 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基8.1吨(含基础+地脚螺栓)");
-            Double guan8 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基4.31吨(不含基础,含地脚螺栓)");
-            Double guan9 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基11.24吨(含基础+地脚螺栓)");
-            Double guan10 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基5.8吨(不含基础,含地脚螺栓)");
-            query.setSteelPipeGNH31Contains(guan1 == null ? "" : guan1 + "");
-            query.setSteelPipeGNH31NoContains(guan2 == null ? "" : guan2 + "");
-            query.setSteelPipeGNH3113DContains(guan3 == null ? "" : guan3 + "");
-            query.setSteelPipeGNH3113DNoContains(guan4 == null ? "" : guan4 + "");
-            query.setSteelPipeCNH35Contains(guan5 == null ? "" : guan5 + "");
-            query.setSteelPipeCNH35NoContains(guan6 == null ? "" : guan6 + "");
-            query.setSteelPipeCNH3513EContains(guan7 == null ? "" : guan7 + "");
-            query.setSteelPipeCNH3513ENoContains(guan8 == null ? "" : guan8 + "");
-            query.setSteelPipeCNH39Contains(guan9 == null ? "" : guan9 + "");
-            query.setSteelPipeCNH39NoContains(guan10 == null ? "" : guan10 + "");
+            query.setSteelPipeGNH31Contains(doubleToString(guan1));
+            query.setSteelPipeGNH31NoContains(doubleToString(guan2));
+            query.setSteelPipeGNH3113DContains(doubleToString(guan3));
+            query.setSteelPipeGNH3113DNoContains(doubleToString(guan4));
+            query.setSteelPipeCNH35Contains(doubleToString(guan5));
+            query.setSteelPipeCNH35NoContains(doubleToString(guan6));
+            query.setSteelPipeCNH3513EContains(doubleToString(guan7));
+            query.setSteelPipeCNH3513ENoContains(doubleToString(guan8));
+            query.setSteelPipeCNH39Contains(doubleToString(guan9));
+            query.setSteelPipeCNH39NoContains(doubleToString(guan10));
             query.setPrefabricatedWell("");
             query.setPrefabricatedBase("");
             query.setPrefabricatedPackage("");
 
-
+            query.setCivilWork("");
+            query.setPoleWorkload("");
+            query.setProjectType("");
             queryList.add(query);
         }
         page.setList(queryList);
@@ -151,46 +218,112 @@ public class EnginnerQueryController extends BaseController {
             query.setReserveProgress(budgetStatsService.getReserveProgress(query.getProjectReserveId()));
 
             //设置立杆信息数据
-            //根据物料编码查询物料总量
-            Double sum1 = queryService.getData("500033660","","");
-            Double sum2 = queryService.getData("500013972","","");
-            Double sum3 = queryService.getData("500013974","","");
-            Double sum4 = queryService.getData("500033743","","");
-            Double sum5 = queryService.getData("乙供","等径水泥杆,300mm,9m,18φ16,下","");
-            Double sum6 = queryService.getData("500124726","","");
-            query.setPole190X10(sum1 == null ? "" : sum1 + "");
-            query.setPole190X12(sum2 == null ? "" : sum2 + "");
-            query.setPole190X15(sum3 == null ? "" : sum3 + "");
+            Double sum1 = 0.0;
+            Double sum2 = 0.0;
+            Double sum3 = 0.0;
+            Double sum4 = 0.0;
+            Double sum5 = 0.0;
+            Double sum6 = 0.0;
+            Double guan1 = 0.0;
+            Double guan2 = 0.0;
+            Double guan3 = 0.0;
+            Double guan4 = 0.0;
+            Double guan5 = 0.0;
+            Double guan6 = 0.0;
+            Double guan7 = 0.0;
+            Double guan8 = 0.0;
+            Double guan9 = 0.0;
+            Double guan10 = 0.0;
+            //根据物料编码 和 物料描述从cg_material_data表中获取相应的数据
+            List<MaterialData> dataList = queryService.getByProjectName(query.getProjectName());
+            if (dataList.size()>0){
+                for (int j=0;j<dataList.size();j++){
+                    if (dataList.get(j).getMaterialCode().equals("500033660")){
+                        sum1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500013972")){
+                        sum2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500013974")){
+                        sum3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500033743")){
+                        sum4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("乙供") &
+                            dataList.get(j).getExtendDescription().equals("等径水泥杆,300mm,9m,18φ16,下")){
+                        sum5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500124726")){
+                        sum6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B") &
+                            dataList.get(j).getNote().equals("每基6.18吨(含基础+地脚螺栓)")){
+                        guan1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-B") &
+                            dataList.get(j).getNote().equals("每基2.78吨(不含基础,含地脚螺栓)")){
+                        guan2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-D") &
+                            dataList.get(j).getNote().equals("每基6.42吨(含基础+地脚螺栓)")){
+                        guan3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH31-13-D") &
+                            dataList.get(j).getNote().equals("每基3.02吨(不含基础,含地脚螺栓)")){
+                        guan4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-B") &
+                            dataList.get(j).getNote().equals("每基8.71吨(含基础+地脚螺栓)")){
+                        guan5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-B") &
+                            dataList.get(j).getNote().equals("每基4.01吨(不含基础,含地脚螺栓)")){
+                        guan6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-E") &
+                            dataList.get(j).getNote().equals("每基8.1吨(含基础+地脚螺栓)")){
+                        guan7 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH35-13-E") &
+                            dataList.get(j).getNote().equals("每基4.31吨(不含基础,含地脚螺栓)")){
+                        guan8 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH39-13-B") &
+                            dataList.get(j).getNote().equals("每基11.24吨(含基础+地脚螺栓)")){
+                        guan9 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getExtendDescription().equals("配农网用,整套杆,GNH39-13-B") &
+                            dataList.get(j).getNote().equals("每基5.8吨(不含基础,含地脚螺栓)")){
+                        guan10 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                }
+            }
+            query.setPole190X10(doubleToString(sum1));
+            query.setPole190X12(doubleToString(sum2));
+            query.setPole190X15(doubleToString(sum3));
             query.setPole230X15("");
-            query.setPole230X18(sum4 == null ? "" : sum4 + "");
-            query.setPole300X9(sum5 == null ? "" : sum5 + "");
-            query.setPole350X15(sum6 == null ? "" : sum6 + "");
+            query.setPole230X18(doubleToString(sum4));
+            query.setPole300X9(doubleToString(sum5));
+            query.setPole350X15(doubleToString(sum6));
             //设置钢管杆信息
-            Double guan1 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基6.18吨(含基础+地脚螺栓)");
-            Double guan2 = queryService.getData("","配农网用,整套杆,GNH31-13-B","每基2.78吨(不含基础,含地脚螺栓)");
-            Double guan3 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基6.42吨(含基础+地脚螺栓)");
-            Double guan4 = queryService.getData("","配农网用,整套杆,GNH31-13-D","每基3.02吨(不含基础,含地脚螺栓)");
-            Double guan5 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基8.71吨(含基础+地脚螺栓)");
-            Double guan6 = queryService.getData("","配农网用,整套杆,GNH35-13-B","每基4.01吨(不含基础,含地脚螺栓)");
-            Double guan7 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基8.1吨(含基础+地脚螺栓)");
-            Double guan8 = queryService.getData("","配农网用,整套杆,GNH35-13-E","每基4.31吨(不含基础,含地脚螺栓)");
-            Double guan9 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基11.24吨(含基础+地脚螺栓)");
-            Double guan10 = queryService.getData("","配农网用,整套杆,GNH39-13-B","每基5.8吨(不含基础,含地脚螺栓)");
-            query.setSteelPipeGNH31Contains(guan1 == null ? "" : guan1 + "");
-            query.setSteelPipeGNH31NoContains(guan2 == null ? "" : guan2 + "");
-            query.setSteelPipeGNH3113DContains(guan3 == null ? "" : guan3 + "");
-            query.setSteelPipeGNH3113DNoContains(guan4 == null ? "" : guan4 + "");
-            query.setSteelPipeCNH35Contains(guan5 == null ? "" : guan5 + "");
-            query.setSteelPipeCNH35NoContains(guan6 == null ? "" : guan6 + "");
-            query.setSteelPipeCNH3513EContains(guan7 == null ? "" : guan7 + "");
-            query.setSteelPipeCNH3513ENoContains(guan8 == null ? "" : guan8 + "");
-            query.setSteelPipeCNH39Contains(guan9 == null ? "" : guan9 + "");
-            query.setSteelPipeCNH39NoContains(guan10 == null ? "" : guan10 + "");
+            query.setSteelPipeGNH31Contains(doubleToString(guan1));
+            query.setSteelPipeGNH31NoContains(doubleToString(guan2));
+            query.setSteelPipeGNH3113DContains(doubleToString(guan3));
+            query.setSteelPipeGNH3113DNoContains(doubleToString(guan4));
+            query.setSteelPipeCNH35Contains(doubleToString(guan5));
+            query.setSteelPipeCNH35NoContains(doubleToString(guan6));
+            query.setSteelPipeCNH3513EContains(doubleToString(guan7));
+            query.setSteelPipeCNH3513ENoContains(doubleToString(guan8));
+            query.setSteelPipeCNH39Contains(doubleToString(guan9));
+            query.setSteelPipeCNH39NoContains(doubleToString(guan10));
             query.setPrefabricatedWell("");
             query.setPrefabricatedBase("");
             query.setPrefabricatedPackage("");
 
-
+            query.setCivilWork("");
+            query.setPoleWorkload("");
+            query.setProjectType("");
             queryList.add(query);
         }
 
@@ -205,4 +338,12 @@ public class EnginnerQueryController extends BaseController {
         XSSFWorkbook workbook = util.getWorkbook("enginnerQuery");
         util.exportEnginnerQuery(response,workbook,queryList);
     }
+
+    public String doubleToString(Double value){
+        if (value == 0.0){
+            return "";
+        }else {
+            return value + "";
+        }
+    }
 }

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

@@ -119,6 +119,9 @@ public class NormativeAuditController extends BaseController {
             //进行赋值操作
             //设置储备进度
             audit.setReserveProgress(statsService.getReserveProgress(audit.getProjectReserveId()));
+            //设置概预算调整
+            audit.setDesignAdjustment("");
+            audit.setDesignAdjustmentDate("");
             //设置完整性校核相关值
 //            audit.setBlueprint(audit.getBlueprint() ==null ? "" : audit.getBlueprint());
 //            audit.setBudgetBook(audit.getBudgetBook() ==null ? "" : audit.getBudgetBook());

+ 222 - 98
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/ProgressStatsController.java

@@ -104,7 +104,7 @@ public class ProgressStatsController extends BaseController {
             //设置储备进度
             stats.setReserveProgress(budgetStatsService.getReserveProgress(stats.getProjectReserveId()));
             //设置是否发出设计委托
-            if (StringUtils.isNotEmpty(stats.getReserveProgress())){
+            if (!stats.getReserveProgress().equals("设计委托未发起")){
                 stats.setDesignCommission("是");
             }else {
                 stats.setDesignCommission("否");
@@ -128,6 +128,7 @@ public class ProgressStatsController extends BaseController {
                     stats.setCompleteDrawDate(history.get(0).getEndTime());
                 }else {
                     stats.setCompleteDraw("否");
+                    stats.setCompleteDrawDate("");
                 }
                 //设置是否通过图纸审核  查出最近的项目经理审图节点数据,根据他的结束时间查是否有下一个节点
                 List<History> jlHis = statsService.getHistoryByProInsId(procInsId, "项目经理审图");
@@ -178,8 +179,10 @@ public class ProgressStatsController extends BaseController {
                                     info = feBook.getProjectManagerOtherProblem();
                                 }
                             }
-
-                            stats.setReasonForFailure(info);
+                            if (StringUtils.isNotEmpty(info)){
+                                stats.setReasonForFailure(info);
+                            }
+                            stats.setReasonForFailure("");
                             //设置是否需设计变更
                             stats.setChangeDesign("是");
                         }else if (gysHis.get(0).getStartTime().equals(jlHis.get(0).getEndTime())){
@@ -189,6 +192,8 @@ public class ProgressStatsController extends BaseController {
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }else if (status == 3){
                             //取消
                             stats.setDrawAudit("取消");
@@ -196,12 +201,16 @@ public class ProgressStatsController extends BaseController {
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }else if (status == 4){
                             stats.setDrawAudit("待定");
                             //设置通过审核日期
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }
                     }
                 }
@@ -294,7 +303,12 @@ public class ProgressStatsController extends BaseController {
                                             info = feBook.getOtherProblem();
                                         }
                                     }
-                                    stats.setEstimateReasonForFailure(info);
+                                    if (StringUtils.isNotEmpty(info)){
+                                        stats.setEstimateReasonForFailure(info);
+                                    } else {
+                                        stats.setEstimateReasonForFailure("");
+                                    }
+
                                     //设置是否需设计变更
                                     stats.setEstimateChangeDesign("是");
                                 }else {
@@ -357,6 +371,19 @@ public class ProgressStatsController extends BaseController {
                                     stats.setJointReviewDesignChange("否");
                                 }
                             }
+                        } else {
+                            //设置是否进行图纸审查
+                            stats.setDrawingReview("");
+                            //设置联合审图日期
+                            stats.setReviewDate("");
+                            //设置是否通过图纸审查
+                            stats.setPassDrawingReview("");
+                            //设置通过联合审图日期
+                            stats.setApprovedDate("");
+                            //设置审图意见
+                            stats.setReviewComment("");
+                            //设置是否需设计变更
+                            stats.setJointReviewDesignChange("");
                         }
                     }
                 }
@@ -387,8 +414,16 @@ public class ProgressStatsController extends BaseController {
                     }else {
                         stats.setDrawingFinalize("否");
                     }
+                } else {
+                    //设置图纸是否定稿
+                    stats.setDrawingFinalize("");
+                    stats.setFinalDate("");
+                    stats.setTransferProjectCenterDate("");
+                    stats.setTransferToConstructionUnitDate("");
                 }
 
+            } else {
+                stats = setStatsValue(stats);
             }
 
             statsList.add(stats);
@@ -408,9 +443,9 @@ public class ProgressStatsController extends BaseController {
         AjaxJson j = new AjaxJson();
         String idArray[] =ids.split(",");
         for(String id : idArray){
-            statsService.delete(statsService.get(id));
+            statsService.deleteByProId(statsService.get(id).getProjectReserveId());
         }
-        j.setMsg("删除储备进度信息成功");
+        j.setMsg("删除储备进度统计表信息成功");
         return j;
     }
 
@@ -424,8 +459,11 @@ public class ProgressStatsController extends BaseController {
         AjaxJson j = new AjaxJson();
         try {
             ImportUtil importUtil = new ImportUtil(file, 0, 0);
+
+            //从数据库中查出所有的 项目储备编号
+            List<String> proIdList = statsService.getAllProId();
             //获取导入表格所有数据
-            List<ProgressStats> budgetStats = ExcelImportUtil.getProgressUtil(importUtil);
+            List<ProgressStats> budgetStats = ExcelImportUtil.getProgressUtil(importUtil,proIdList);
             statsService.insertList(budgetStats);
         } catch (Exception e) {
             j.setSuccess(false);
@@ -450,7 +488,7 @@ public class ProgressStatsController extends BaseController {
             //设置储备进度
             stats.setReserveProgress(budgetStatsService.getReserveProgress(stats.getProjectReserveId()));
             //设置是否发出设计委托
-            if (StringUtils.isNotEmpty(stats.getReserveProgress())){
+            if (!stats.getReserveProgress().equals("设计委托未发起")){
                 stats.setDesignCommission("是");
             }else {
                 stats.setDesignCommission("否");
@@ -474,6 +512,7 @@ public class ProgressStatsController extends BaseController {
                     stats.setCompleteDrawDate(history.get(0).getEndTime());
                 }else {
                     stats.setCompleteDraw("否");
+                    stats.setCompleteDrawDate("");
                 }
                 //设置是否通过图纸审核  查出最近的项目经理审图节点数据,根据他的结束时间查是否有下一个节点
                 List<History> jlHis = statsService.getHistoryByProInsId(procInsId, "项目经理审图");
@@ -524,8 +563,10 @@ public class ProgressStatsController extends BaseController {
                                     info = feBook.getProjectManagerOtherProblem();
                                 }
                             }
-
-                            stats.setReasonForFailure(info);
+                            if (StringUtils.isNotEmpty(info)){
+                                stats.setReasonForFailure(info);
+                            }
+                            stats.setReasonForFailure("");
                             //设置是否需设计变更
                             stats.setChangeDesign("是");
                         }else if (gysHis.get(0).getStartTime().equals(jlHis.get(0).getEndTime())){
@@ -535,6 +576,8 @@ public class ProgressStatsController extends BaseController {
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }else if (status == 3){
                             //取消
                             stats.setDrawAudit("取消");
@@ -542,124 +585,135 @@ public class ProgressStatsController extends BaseController {
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }else if (status == 4){
                             stats.setDrawAudit("待定");
                             //设置通过审核日期
                             stats.setPassAuditDate(jlHis.get(0).getEndTime());
                             //设置是否需设计变更
                             stats.setChangeDesign("否");
+                            //设置未通过原因分析
+                            stats.setReasonForFailure("");
                         }
                     }
                 }
                 //设置概预算审核是否进行审核
                 if (gysHis.size()>0){
-                    if (gysHis.get(0).getStartTime().equals(jlHis.get(0).getEndTime())){
-                        stats.setWhetherToAudit("是");
-                        //设置概预算审核日期
-                        stats.setAuditDate(gysHis.get(0).getStartTime());
-                        //设置是否通过专家审核
-                        if (StringUtils.isNotEmpty(gysHis.get(0).getEndTime())){
-                            if (gysHis.get(0).getEndTime().equals(history.get(0).getStartTime())){
-                                //说明是未通过
-                                stats.setExpertReview("不通过");
-                                //设置通过审核日期
-                                stats.setEstimatePassAuditDate(gysHis.get(0).getEndTime());
-                                //设置未通过原因分析
-                                String info = "";
-                                if (StringUtils.isNotEmpty(feBook.getPreferedCase())){
-                                    info = feBook.getPreferedCase();
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getTransferSituation())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getTransferSituation();
-                                    }else {
-                                        info = feBook.getTransferSituation();
+                    if (StringUtils.isNotEmpty(gysHis.get(0).getEndTime())){
+                        if (gysHis.get(0).getStartTime().equals(jlHis.get(0).getEndTime())){
+                            stats.setWhetherToAudit("是");
+                            //设置概预算审核日期
+                            stats.setAuditDate(gysHis.get(0).getStartTime());
+                            //设置是否通过专家审核
+                            if (StringUtils.isNotEmpty(gysHis.get(0).getEndTime())){
+                                if (gysHis.get(0).getEndTime().equals(history.get(0).getStartTime())){
+                                    //说明是未通过
+                                    stats.setExpertReview("不通过");
+                                    //设置通过审核日期
+                                    stats.setEstimatePassAuditDate(gysHis.get(0).getEndTime());
+                                    //设置未通过原因分析
+                                    String info = "";
+                                    if (StringUtils.isNotEmpty(feBook.getPreferedCase())){
+                                        info = feBook.getPreferedCase();
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getBudgetTemplateCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getBudgetTemplateCheck();
-                                    }else {
-                                        info = feBook.getBudgetTemplateCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getTransferSituation())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getTransferSituation();
+                                        }else {
+                                            info = feBook.getTransferSituation();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getQuotaApplicationCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getQuotaApplicationCheck();
-                                    }else {
-                                        info = feBook.getQuotaApplicationCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getBudgetTemplateCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getBudgetTemplateCheck();
+                                        }else {
+                                            info = feBook.getBudgetTemplateCheck();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getWorkLoadCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getWorkLoadCheck();
-                                    }else {
-                                        info = feBook.getWorkLoadCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getQuotaApplicationCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getQuotaApplicationCheck();
+                                        }else {
+                                            info = feBook.getQuotaApplicationCheck();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getCheckTheFee())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getCheckTheFee();
-                                    }else {
-                                        info = feBook.getCheckTheFee();
+                                    if (StringUtils.isNotEmpty(feBook.getWorkLoadCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getWorkLoadCheck();
+                                        }else {
+                                            info = feBook.getWorkLoadCheck();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getSupplyCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getSupplyCheck();
-                                    }else {
-                                        info = feBook.getSupplyCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getCheckTheFee())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getCheckTheFee();
+                                        }else {
+                                            info = feBook.getCheckTheFee();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getMaterialCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getMaterialCheck();
-                                    }else {
-                                        info = feBook.getMaterialCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getSupplyCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getSupplyCheck();
+                                        }else {
+                                            info = feBook.getSupplyCheck();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getLiveWorkFeeCheck())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getLiveWorkFeeCheck();
-                                    }else {
-                                        info = feBook.getLiveWorkFeeCheck();
+                                    if (StringUtils.isNotEmpty(feBook.getMaterialCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getMaterialCheck();
+                                        }else {
+                                            info = feBook.getMaterialCheck();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getDemolitionEngineeringProblems())){
-                                    if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getDemolitionEngineeringProblems();
-                                    }else {
-                                        info = feBook.getDemolitionEngineeringProblems();
+                                    if (StringUtils.isNotEmpty(feBook.getLiveWorkFeeCheck())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getLiveWorkFeeCheck();
+                                        }else {
+                                            info = feBook.getLiveWorkFeeCheck();
+                                        }
+                                    }
+                                    if (StringUtils.isNotEmpty(feBook.getDemolitionEngineeringProblems())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getDemolitionEngineeringProblems();
+                                        }else {
+                                            info = feBook.getDemolitionEngineeringProblems();
+                                        }
+                                    }
+                                    if (StringUtils.isNotEmpty(feBook.getOtherProblem())){
+                                        if (StringUtils.isNotEmpty(info)){
+                                            info += "、" + feBook.getOtherProblem();
+                                        }else {
+                                            info = feBook.getOtherProblem();
+                                        }
                                     }
-                                }
-                                if (StringUtils.isNotEmpty(feBook.getOtherProblem())){
                                     if (StringUtils.isNotEmpty(info)){
-                                        info += "、" + feBook.getOtherProblem();
-                                    }else {
-                                        info = feBook.getOtherProblem();
+                                        stats.setEstimateReasonForFailure(info);
+                                    } else {
+                                        stats.setEstimateReasonForFailure("");
                                     }
+
+                                    //设置是否需设计变更
+                                    stats.setEstimateChangeDesign("是");
+                                }else {
+                                    //说明是通过
+                                    stats.setExpertReview("通过");
+                                    //设置通过审核日期
+                                    stats.setEstimatePassAuditDate(gysHis.get(0).getEndTime());
+                                    //设置是否需设计变更
+                                    stats.setEstimateChangeDesign("否");
                                 }
-                                stats.setEstimateReasonForFailure(info);
-                                //设置是否需设计变更
-                                stats.setEstimateChangeDesign("是");
-                            }else {
-                                //说明是通过
-                                stats.setExpertReview("通过");
-                                //设置通过审核日期
-                                stats.setEstimatePassAuditDate(gysHis.get(0).getEndTime());
-                                //设置是否需设计变更
-                                stats.setEstimateChangeDesign("否");
                             }
+                        }else {
+                            stats.setWhetherToAudit("否");
                         }
-                    }else {
-                        stats.setWhetherToAudit("否");
                     }
                 }
 
                 //设置是否进行图纸审查
                 if (lhHis.size()>0){
-                    if (StringUtils.isNotEmpty(history.get(0).getEndTime())){
-                        if (history.get(0).getEndTime().equals(lhHis.get(0).getStartTime())){
+                    if (StringUtils.isNotEmpty(lhHis.get(0).getEndTime())){
+                        if (lhHis.get(0).getEndTime().equals(history.get(0).getStartTime())){
                             stats.setDrawingReview("是");
                             //设置联合审图日期
                             stats.setReviewDate(lhHis.get(0).getStartTime());
@@ -701,6 +755,19 @@ public class ProgressStatsController extends BaseController {
                                     stats.setJointReviewDesignChange("否");
                                 }
                             }
+                        } else {
+                            //设置是否进行图纸审查
+                            stats.setDrawingReview("");
+                            //设置联合审图日期
+                            stats.setReviewDate("");
+                            //设置是否通过图纸审查
+                            stats.setPassDrawingReview("");
+                            //设置通过联合审图日期
+                            stats.setApprovedDate("");
+                            //设置审图意见
+                            stats.setReviewComment("");
+                            //设置是否需设计变更
+                            stats.setJointReviewDesignChange("");
                         }
                     }
                 }
@@ -731,8 +798,16 @@ public class ProgressStatsController extends BaseController {
                     }else {
                         stats.setDrawingFinalize("否");
                     }
+                } else {
+                    //设置图纸是否定稿
+                    stats.setDrawingFinalize("");
+                    stats.setFinalDate("");
+                    stats.setTransferProjectCenterDate("");
+                    stats.setTransferToConstructionUnitDate("");
                 }
 
+            } else {
+                stats = setStatsValue(stats);
             }
 
             statsList.add(stats);
@@ -748,4 +823,53 @@ public class ProgressStatsController extends BaseController {
         XSSFWorkbook workbook = util.getWorkbook("progressStats");
         util.exportProgress(response,workbook,statsList);
     }
+
+    public ProgressStats setStatsValue(ProgressStats stats){
+        //是否完成初设
+        stats.setCompleteDesign("");
+        //设置初设提交时间
+        stats.setSubmitTime("");
+        //设置是否进行审图
+        stats.setCompleteDraw("");
+        //设置审图日期
+        stats.setCompleteDrawDate("");
+        //设置设计委托发出时间
+        stats.setDesignCommissionIssueTime("");
+        //设置未通过原因分析
+        stats.setReasonForFailure("");
+        //是否通过图纸审核
+        stats.setDrawAudit("");
+        //设置通过审核日期
+        stats.setPassAuditDate("");
+        //设置是否需设计变更
+        stats.setChangeDesign("");
+        //设置概预算是否进行审核
+        stats.setWhetherToAudit("");
+        //设置概预算审核日期
+        stats.setAuditDate("");
+        //设置概预算是否通过专家审核
+        stats.setExpertReview("");
+        //设置通过审核日期
+        stats.setEstimatePassAuditDate("");
+        stats.setEstimateReasonForFailure("");
+        stats.setEstimateChangeDesign("");
+        //设置是否进行图纸审查
+        stats.setDrawingReview("");
+        //设置联合审图日期
+        stats.setReviewDate("");
+        //设置是否通过图纸审查
+        stats.setPassDrawingReview("");
+        //设置通过联合审图日期
+        stats.setApprovedDate("");
+        //设置审图意见
+        stats.setReviewComment("");
+        //设置是否需设计变更
+        stats.setJointReviewDesignChange("");
+        //设置图纸是否定稿
+        stats.setDrawingFinalize("");
+        stats.setFinalDate("");
+        stats.setTransferProjectCenterDate("");
+        stats.setTransferToConstructionUnitDate("");
+        return stats;
+    }
 }

+ 161 - 32
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/statisticalTable/web/SpecialSupplyController.java

@@ -1,13 +1,18 @@
 package com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.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.statisticalTable.entity.MaterialData;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.entity.SpecialSupply;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.BudgetStatsService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.service.SpecialSupplyService;
 import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.statisticalTable.util.ExcelImportUtil;
+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;
@@ -16,6 +21,7 @@ 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;
@@ -89,26 +95,64 @@ public class SpecialSupplyController extends BaseController {
             //设置储备进度
             supply.setReserveProgress(budgetStatsService.getReserveProgress(supply.getProjectReserveId()));
 
+            double kgg1 = 0.0;
+            double kgg2 = 0.0;
+            double kgg3 = 0.0;
+            double kgg4 = 0.0;
+            double kgg5 = 0.0;
+            double kgg6 = 0.0;
+            double kgg7 = 0.0;
+            double kgg8 = 0.0;
+
+            //根据物料编码 和 物料描述从cg_material_data表中获取相应的数据
+            List<MaterialData> dataList = supplyService.getByProjectName(supply.getProjectName());
+            if (dataList.size()>0){
+                for (int j=0;j<dataList.size();j++){
+                    if (dataList.get(j).getMaterialCode().equals("500116761") &
+                            dataList.get(j).getExtendDescription().equals("环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,带避雷器,电动,端子排")){
+                        kgg1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500116761") &
+                            dataList.get(j).getExtendDescription().equals("环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,不带避雷器,电动,端子排")){
+                        kgg2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006630")){
+                        kgg3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006556")){
+                        kgg4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006703")){
+                        kgg5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107555")){
+                        kgg6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107558")){
+                        kgg7 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107562")){
+                        kgg8 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                }
+            }
             //设置20kv物资统计
+            supply.setMaterialStatisticA("");
+            supply.setMaterialStatisticB("");
+            supply.setMaterialStatisticC("");
+            supply.setMaterialStatisticD("");
             //设置高低压开关柜统计
-            Double kgg1 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,带避雷器,电动,端子排", "");
-            Double kgg2 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,不带避雷器,电动,端子排", "");
-            Double kgg3 = supplyService.getData("500006630", "", "");
-            Double kgg4 = supplyService.getData("500006556", "", "");
-            Double kgg5 = supplyService.getData("500006703", "", "");
-            Double kgg6 = supplyService.getData("500107555", "", "");
-            Double kgg7 = supplyService.getData("500107558", "", "");
-            Double kgg8 = supplyService.getData("500107562", "", "");
-            supply.setSwitchCabinet10KV(kgg1 == null ? "" : kgg1 + "");
-            supply.setSwitchCabinet10KV02(kgg2 == null ? "" : kgg2 + "");
-            supply.setSwitchCabinetIncomeLine(kgg3 == null ? "" : kgg3 + "");
-            supply.setSwitchCabinetSegment(kgg4 == null ? "" : kgg4 + "");
-            supply.setSwitchCabinetFeeder(kgg5 == null ? "" : kgg5 + "");
-            supply.setNumberOfBranchBoxFourWay(kgg6 == null ? "" : kgg6 + "");
-            supply.setNumberOfBranchBoxFiveWay(kgg7 == null ? "" : kgg7 + "");
-            supply.setNumberOfBranchBoxSevenWay(kgg8 == null ? "" : kgg8 + "");
+            supply.setSwitchCabinet10KV(doubleToString(kgg1));
+            supply.setSwitchCabinet10KV02(doubleToString(kgg2));
+            supply.setSwitchCabinetIncomeLine(doubleToString(kgg3));
+            supply.setSwitchCabinetSegment(doubleToString(kgg4));
+            supply.setSwitchCabinetFeeder(doubleToString(kgg5));
+            supply.setNumberOfBranchBoxFourWay(doubleToString(kgg6));
+            supply.setNumberOfBranchBoxFiveWay(doubleToString(kgg7));
+            supply.setNumberOfBranchBoxSevenWay(doubleToString(kgg8));
             //设置低压分支箱路上统计
             //设置箱变路数统计
+            supply.setNumberOfBox("");
             //设置特殊尺寸物资统计
 
             supplyList.add(supply);
@@ -117,6 +161,44 @@ public class SpecialSupplyController extends BaseController {
         return getBootstrapData(page);
     }
 
+    /**
+     *  导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:specialSupply: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 = supplyService.getAllProId();
+            //获取导入表格所有数据
+            List<SpecialSupply> specialSupplies = ExcelImportUtil.getSpecialUtil(importUtil,proIdList);
+            supplyService.insertList(specialSupplies);
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入储备项目概预算信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+    /**
+     * 删除表单
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:specialSupply:del"},logical= Logical.OR)
+    @RequestMapping(value = "deleteAll")
+    public AjaxJson delete(String ids){
+        AjaxJson j = new AjaxJson();
+        String idArray[] =ids.split(",");
+        for(String id : idArray){
+            supplyService.deleteByProId(supplyService.get(id).getProjectReserveId());
+        }
+        j.setMsg("删除特殊物资统计表信息成功");
+        return j;
+    }
+
     //导出excel
     @ResponseBody
     @RequiresPermissions("cg:reservemanagementcenter:specialSupply:export")
@@ -133,26 +215,65 @@ public class SpecialSupplyController extends BaseController {
             String procInsId = supplyService.getByProjectReserveId(supply.getProjectReserveId());
             //设置储备进度
             supply.setReserveProgress(budgetStatsService.getReserveProgress(supply.getProjectReserveId()));
+
+            double kgg1 = 0.0;
+            double kgg2 = 0.0;
+            double kgg3 = 0.0;
+            double kgg4 = 0.0;
+            double kgg5 = 0.0;
+            double kgg6 = 0.0;
+            double kgg7 = 0.0;
+            double kgg8 = 0.0;
+
+            //根据物料编码 和 物料描述从cg_material_data表中获取相应的数据
+            List<MaterialData> dataList = supplyService.getByProjectName(supply.getProjectName());
+            if (dataList.size()>0){
+                for (int j=0;j<dataList.size();j++){
+                    if (dataList.get(j).getMaterialCode().equals("500116761") &
+                            dataList.get(j).getExtendDescription().equals("环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,带避雷器,电动,端子排")){
+                        kgg1 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500116761") &
+                            dataList.get(j).getExtendDescription().equals("环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,不带避雷器,电动,端子排")){
+                        kgg2 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006630")){
+                        kgg3 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006556")){
+                        kgg4 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500006703")){
+                        kgg5 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107555")){
+                        kgg6 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107558")){
+                        kgg7 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                    if (dataList.get(j).getMaterialCode().equals("500107562")){
+                        kgg8 += Double.parseDouble(dataList.get(j).getTotalCount());
+                    }
+                }
+            }
             //设置20kv物资统计
+            supply.setMaterialStatisticA("");
+            supply.setMaterialStatisticB("");
+            supply.setMaterialStatisticC("");
+            supply.setMaterialStatisticD("");
             //设置高低压开关柜统计
-            Double kgg1 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,带避雷器,电动,端子排", "");
-            Double kgg2 = supplyService.getData("500116761", "环网柜,AC10kV,630A,负荷开关柜,SF6,户内。SF6灭弧,不带避雷器,电动,端子排", "");
-            Double kgg3 = supplyService.getData("500006630", "", "");
-            Double kgg4 = supplyService.getData("500006556", "", "");
-            Double kgg5 = supplyService.getData("500006703", "", "");
-            Double kgg6 = supplyService.getData("500107555", "", "");
-            Double kgg7 = supplyService.getData("500107558", "", "");
-            Double kgg8 = supplyService.getData("500107562", "", "");
-            supply.setSwitchCabinet10KV(kgg1 == null ? "" : kgg1 + "");
-            supply.setSwitchCabinet10KV02(kgg2 == null ? "" : kgg2 + "");
-            supply.setSwitchCabinetIncomeLine(kgg3 == null ? "" : kgg3 + "");
-            supply.setSwitchCabinetSegment(kgg4 == null ? "" : kgg4 + "");
-            supply.setSwitchCabinetFeeder(kgg5 == null ? "" : kgg5 + "");
-            supply.setNumberOfBranchBoxFourWay(kgg6 == null ? "" : kgg6 + "");
-            supply.setNumberOfBranchBoxFiveWay(kgg7 == null ? "" : kgg7 + "");
-            supply.setNumberOfBranchBoxSevenWay(kgg8 == null ? "" : kgg8 + "");
+            supply.setSwitchCabinet10KV(doubleToString(kgg1));
+            supply.setSwitchCabinet10KV02(doubleToString(kgg2));
+            supply.setSwitchCabinetIncomeLine(doubleToString(kgg3));
+            supply.setSwitchCabinetSegment(doubleToString(kgg4));
+            supply.setSwitchCabinetFeeder(doubleToString(kgg5));
+            supply.setNumberOfBranchBoxFourWay(doubleToString(kgg6));
+            supply.setNumberOfBranchBoxFiveWay(doubleToString(kgg7));
+            supply.setNumberOfBranchBoxSevenWay(doubleToString(kgg8));
             //设置低压分支箱路上统计
             //设置箱变路数统计
+            supply.setNumberOfBox("");
             //设置特殊尺寸物资统计
 
             supplyList.add(supply);
@@ -169,4 +290,12 @@ public class SpecialSupplyController extends BaseController {
         XSSFWorkbook workbook = util.getWorkbook("specialSupply");
         util.exportSpecialSupply(response,workbook,supplyList);
     }
+
+    public String doubleToString(Double value){
+        if (value == 0.0){
+            return "";
+        }else {
+            return value + "";
+        }
+    }
 }

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

@@ -295,7 +295,7 @@ function view(id) {//没有权限时,不显示确定按钮
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+    jp.confirm('确认要删除该概预算统计表信息吗?', function(){
         jp.loading();
         jp.get("${ctx}/cg/reservemanagementcenter/budgetStats/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){

+ 1 - 1
src/main/webapp/webpage/modules/cg/statisticalTable/cable/cable.js

@@ -246,7 +246,7 @@ function view(id) {//没有权限时,不显示确定按钮
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+    jp.confirm('确认要删除该电缆段长统计表信息吗?', function(){
         jp.loading();
         jp.get("${ctx}/cg/reservemanagementcenter/cable/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){

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

@@ -278,7 +278,7 @@ function view(id) {//没有权限时,不显示确定按钮
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+    jp.confirm('确认要删除该储备项目建设规模统计表信息吗?', function(){
         jp.loading();
         jp.get("${ctx}/cg/reservemanagementcenter/constructeScale/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){

+ 2 - 2
src/main/webapp/webpage/modules/cg/statisticalTable/progressStats/progressStats.js

@@ -126,7 +126,7 @@ $(document).ready(function () {
                     { field: 'reasonForFailure', title: '未通过原因分析', valign:"middle", align:"center" ,formatter:paramsMatter},
                     { field: 'changeDesign', title: '是否需设计变更', valign:"middle", align:"center" },
                     { field: 'drawRemarks', title: '备注', valign:"middle", align:"center" ,formatter:paramsMatter},
-                    { field: 'completeReview', title: '是否进行审核', valign:"middle", align:"center" },
+                    { field: 'whetherToAudit', title: '是否进行审核', valign:"middle", align:"center" },
                     { field: 'auditDate', title: '审核日期', valign:"middle", align:"center" },
                     { field: 'expertReview', title: '是否通过专家审核', valign:"middle", align:"center" },
                     { field: 'estimatePassAuditDate', title: '通过审核日期', valign:"middle", align:"center" },
@@ -300,7 +300,7 @@ function view(id) {//没有权限时,不显示确定按钮
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+    jp.confirm('确认要删除该储备进度统计表信息吗?', function(){
         jp.loading();
         jp.get("${ctx}/cg/reservemanagementcenter/progressStats/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){

+ 2 - 3
src/main/webapp/webpage/modules/cg/statisticalTable/specialSupply/specialSupply.js

@@ -244,7 +244,6 @@ function getIdSelections() {
     });
 }
 
-
 //刷新列表
 function refresh() {
     $('#projectTable').bootstrapTable('refresh');
@@ -278,9 +277,9 @@ function view(id) {//没有权限时,不显示确定按钮
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+    jp.confirm('确认要删除该特殊物资统计表信息吗?', function(){
         jp.loading();
-        jp.get("${ctx}/cg/reservemanagementcenter/budgetStats/deleteAll?ids=" + getIdSelections(), function(data){
+        jp.get("${ctx}/cg/reservemanagementcenter/specialSupply/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){
                 $('#projectTable').bootstrapTable('refresh');
                 jp.success(data.msg);

+ 4 - 4
src/main/webapp/webpage/modules/cg/statisticalTable/specialSupply/specialSupply.jsp

@@ -62,16 +62,16 @@
 	<!-- 工具栏 -->
 	<div id="toolbar">
 
-			<%--<shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:del">
+			<shiro:hasPermission name="cg:reservemanagementcenter:specialSupply:del">
 				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
 					<i class="glyphicon glyphicon-remove"></i> 删除
 				</button>
-			</shiro:hasPermission>--%>
-			<%--<shiro:hasPermission name="cg:reservemanagementcenter:budgetStats:import">
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:specialSupply:import">
 				<button id="btnImport" class="btn btn-info">
 					<i class="fa fa-folder-open-o"></i> 导入
 				</button>
-			</shiro:hasPermission>--%>
+			</shiro:hasPermission>
 
 			<shiro:hasPermission name="cg:reservemanagementcenter:specialSupply:export">
 				<button id="btnExport" class="btn btn-warning">