Explorar el Código

添加产业用地统计页面

wangjiang988 hace 3 años
padre
commit
5c6eae4601

+ 42 - 0
sql/2022-11-12.sql

@@ -0,0 +1,42 @@
+INSERT INTO `service_platform`.`sys_menu` (`id`, `parent_id`, `name`, `user_type`, `url`, `permission`, `sort`, `levels`, `create_by`, `create_name`, `create_time`, `update_by`, `update_name`, `update_time`, `del_flag`, `is_mobile`) VALUES (374, 284, '产业供地预审', 0, '\"\"', 'G_STOCKLAND_PREJUDICE', 21, NULL, -1, '系统', '2022-11-06', NULL, NULL, NULL, 0, 0);
+
+
+
+
+CREATE TABLE `industrial_land_supply_status_config` (
+    `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
+    `create_by` int(20) DEFAULT NULL,
+    `create_name` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
+    `create_time` varchar(45) CHARACTER SET utf8 DEFAULT NULL,
+    `update_by` int(20) DEFAULT NULL,
+    `update_name` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
+    `update_time` varchar(45) CHARACTER SET utf8 DEFAULT NULL,
+    `del_flag` tinyint(1) DEFAULT NULL,
+    `stage` varchar(2) COLLATE utf8_bin DEFAULT NULL,
+    `status_value` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '阶段值',
+    `status_name` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '阶段名称',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC COMMENT='产业供地状态表';
+
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '1', '1');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '2', '2');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '3', '3');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '4', '4');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '5', '5');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '6', '6');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '7', '7');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '8', '8');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '9', '9');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '10', '10');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '11', '11');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '12', '12');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '13', '13');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('1', '14', '14');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '15', '15');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '16', '16');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '17', '17');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '18', '18');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '19', '19');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '20', '20');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '21', '21');
+INSERT INTO `industrial_land_supply_status_config` ( `stage`, `status_value`, `status_name`) VALUES ('2', '22', '22');

+ 2 - 1
src/main/java/platform/common/base/service/BaseService.java

@@ -10,6 +10,8 @@ import platform.common.base.model.BaseEntity;
 import platform.common.base.model.Template;
 import platform.common.util.DateUtil;
 import platform.common.util.ShiroUtils;
+import platform.modules.government.dto.GovIndustrialLandSupplyProjectNumDto;
+import platform.modules.government.entity.Street;
 import platform.modules.sys.entity.SysConfig;
 import tk.mybatis.mapper.entity.Example;
 
@@ -250,5 +252,4 @@ public abstract class BaseService<T extends BaseEntity> {
         return SecureUtil.md5().digestHex(pass.trim());
     }
 
-
 }

+ 18 - 0
src/main/java/platform/common/util/DateUtil.java

@@ -611,4 +611,22 @@ public class DateUtil {
     protected static int absoluteDay(Calendar cal, boolean use1904windowing) {
         return 0;
     }
+
+
+    /**
+     * 获取年份列表截止到2018年
+     *
+     */
+    public static List<String> getUtilTodayYearList() throws ParseException {
+        List<String> yearList = new ArrayList<>();
+        String currentYear = getCurrentYear();
+        Integer yearInt = Integer.parseInt(currentYear);
+//        yearList.add(currentYear);
+        int yearLen = yearInt - 2018 + 1 ;
+        for (int i = 0; i < yearLen; i++) {
+            yearList.add(String.valueOf((yearInt-i)));
+        }
+
+        return yearList;
+    }
 }

+ 3 - 0
src/main/java/platform/common/util/StringUtils.java

@@ -5,6 +5,7 @@ package platform.common.util;
 import platform.common.util.text.StrFormatter;
 
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -398,4 +399,6 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
         }
         return sb.toString();
     }
+
+
 }

+ 10 - 0
src/main/java/platform/modules/government/dao/IndustrialLandSupplyDetailDao.java

@@ -4,6 +4,8 @@ package platform.modules.government.dao;
 import org.apache.ibatis.annotations.Param;
 import platform.common.base.mapper.BaseMapper;
 import platform.modules.company.entity.ProjectFilling;
+import platform.modules.government.dto.GovIndustrialLandSupplyProjectNumDto;
+import platform.modules.government.dto.GovStatisticsDto;
 import platform.modules.government.dto.IndustrialLandSupplyDto;
 import platform.modules.government.dto.IndustrialLandSupplyParam;
 import platform.modules.government.entity.IndustrialLandSupplyDetail;
@@ -23,4 +25,12 @@ public interface IndustrialLandSupplyDetailDao extends BaseMapper<IndustrialLand
     List<IndustrialLandSupplyDetail> findByProjectIdAndApproveStatus(@Param("approveStatus") List<String> approveStatus);
 
     IndustrialLandSupplyDetail selectById(@Param("id") String id);
+
+    List<GovIndustrialLandSupplyProjectNumDto> getIndustrialLandSupplyProjectNum(@Param("year")String year);
+
+    List<GovStatisticsDto> getInstrialLandApplyMouthlyDataByYear(@Param("year")String year);
+
+    List<GovStatisticsDto> getInstrialLandApplyStageSummaryByYear(@Param("year")String year);
+
+    List<GovStatisticsDto> getInstrialLandApplyStatusSummaryByYear(@Param("year")String year, @Param("statusList") List<Integer> statusList);
 }

+ 18 - 0
src/main/java/platform/modules/government/dto/GovIndustrialLandSupplyProjectNumDto.java

@@ -0,0 +1,18 @@
+package platform.modules.government.dto;
+
+import lombok.Data;
+
+/**
+ * 产业用地街道申报项目统计
+ *
+ * @author wangjiang
+ * @date 2022-11-13 14:10:56
+ **/
+@Data
+public class GovIndustrialLandSupplyProjectNumDto {
+
+    private String streetName;
+    private String streetId;
+
+    private Integer projectNum;
+}

+ 49 - 0
src/main/java/platform/modules/government/service/GovStatisticsService.java

@@ -2,9 +2,12 @@ package platform.modules.government.service;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import platform.common.util.CommonUtils;
+import platform.common.util.StringUtils;
 import platform.modules.company.entity.*;
 import platform.modules.company.service.*;
 import platform.modules.government.dto.*;
+import platform.modules.government.entity.Street;
 import platform.modules.sys.service.ApprovalService;
 
 import platform.modules.government.dto.SearchCondition;
@@ -36,6 +39,12 @@ public class GovStatisticsService {
     @Autowired
     private ProjectApplicationService projectApplicationService;
 
+    @Autowired
+    private StreetService streetService;
+
+    @Autowired
+    private IndustrialLandSupplyDetailService industrialLandSupplyDetailService;
+
     public List<GovStatisticsDto> getOverallAnalysis(SearchCondition searchCondition) {
         List<GovStatisticsDto> statisticsDtoList = new ArrayList<>();
         //存量用地
@@ -251,4 +260,44 @@ public class GovStatisticsService {
     public List<GovStatisticsDto> getProjectHandleCompare(SearchCondition searchCondition) {
         return projectApplicationService.getProjectHandleCompare(searchCondition);
     }
+
+    /**
+     * 获取产业用地每个街道的项目申报数量
+     *
+     * @Param  year 当前年的数据 null 则为所有数据
+     *
+     * @author wangjiang
+     * @date 2022-11-13 14:11:59
+     **/
+    public List<GovIndustrialLandSupplyProjectNumDto> getIndustrialLandSupplyProjectNum(String year) {
+        if (CommonUtils.isNull(year)) year = null;
+        List<GovIndustrialLandSupplyProjectNumDto> list = industrialLandSupplyDetailService.getIndustrialLandSupplyProjectNum(year);
+        return list;
+    }
+
+    public List<GovStatisticsDto> getInstrialLandApplyMouthlyDataByYear(String year) {
+        if (CommonUtils.isNull(year)) year = null;
+        List<GovStatisticsDto> list = industrialLandSupplyDetailService.getInstrialLandApplyMouthlyDataByYear(year);
+        return list;
+    }
+
+    /**
+     * 饼状图 状态占比
+     *
+     * @author wangjiang
+     * @date 2022-11-13 16:07:56
+     **/
+    public List<GovStatisticsDto> getInstrialLandApplyStageSummaryByYear(String year) {
+        List<GovStatisticsDto> list = industrialLandSupplyDetailService.getInstrialLandApplyStageSummaryByYear(year);
+        return list;
+    }
+
+    public List<GovStatisticsDto> getInstrialLandApplyStatusSummaryByYear(String year) {
+        List<GovStatisticsDto> list = industrialLandSupplyDetailService.getInstrialLandApplyStatusSummaryByYear(year);
+        return list;
+    }
+
+    public List<GovStatisticsDto> getInstrialLandApplyStatusCommerceSummaryByYear(String year) {
+        return industrialLandSupplyDetailService.getInstrialLandApplyStatusCommerceSummaryByYear(year);
+    }
 }

+ 62 - 3
src/main/java/platform/modules/government/service/IndustrialLandSupplyDetailService.java

@@ -18,9 +18,7 @@ import platform.common.util.*;
 import platform.common.util.word.ExportWord;
 import platform.modules.company.dto.LandSupplyApprovalDto;
 import platform.modules.government.dao.IndustrialLandSupplyDetailDao;
-import platform.modules.government.dto.DepartmentDto;
-import platform.modules.government.dto.IndustrialLandSupplyDto;
-import platform.modules.government.dto.IndustrialLandSupplyParam;
+import platform.modules.government.dto.*;
 import platform.modules.government.entity.*;
 import platform.modules.sys.entity.*;
 import platform.modules.sys.service.*;
@@ -4240,4 +4238,65 @@ public class IndustrialLandSupplyDetailService extends BaseService<IndustrialLan
     private void changWord(String annexOneTempUrl, HttpServletResponse response, Map<String, String> dataMap) {
         BokeWordUtils.changWord(annexOneTempUrl, response, dataMap, null);
     }
+
+    /**
+     * 查询某个街道的产业用地申请数量
+     * 区外不现实, 通安并入到科技城
+     * 通安29 科技城27  区外34
+     *
+     * @author wangjiang
+     * @date 2022-11-13 14:24:32
+     **/
+    public List<GovIndustrialLandSupplyProjectNumDto> getIndustrialLandSupplyProjectNum(String year) {
+        List<GovIndustrialLandSupplyProjectNumDto> projectNumDto = industrialLandSupplyDetailDao.getIndustrialLandSupplyProjectNum(year);
+        List<GovIndustrialLandSupplyProjectNumDto> result = new ArrayList<>();
+        GovIndustrialLandSupplyProjectNumDto kejicheng = new GovIndustrialLandSupplyProjectNumDto();
+        kejicheng.setStreetName("科技城(含东渚,通安)");
+        kejicheng.setStreetId("27");
+        kejicheng.setProjectNum(0);
+        for (GovIndustrialLandSupplyProjectNumDto govIndustrialLandSupplyProjectNumDto : projectNumDto) {
+            if (Objects.equals(govIndustrialLandSupplyProjectNumDto.getStreetId(), "27")
+                    || Objects.equals(govIndustrialLandSupplyProjectNumDto.getStreetId(), "29")) {
+                kejicheng.setProjectNum(govIndustrialLandSupplyProjectNumDto.getProjectNum() + kejicheng.getProjectNum());
+            } else {
+                result.add(govIndustrialLandSupplyProjectNumDto);
+            }
+        }
+        result.add(kejicheng);
+        return result;
+    }
+
+    public List<GovStatisticsDto> getInstrialLandApplyMouthlyDataByYear(String year) {
+        List<GovStatisticsDto> projectNumDto = industrialLandSupplyDetailDao.getInstrialLandApplyMouthlyDataByYear(year);
+
+        return projectNumDto;
+    }
+
+    public List<GovStatisticsDto> getInstrialLandApplyStageSummaryByYear(String year) {
+        List<GovStatisticsDto> projectNumDto = industrialLandSupplyDetailDao.getInstrialLandApplyStageSummaryByYear(year);
+        return projectNumDto;
+    }
+
+    /**
+     * 预审阶段状态统计  2, 3 , 4,
+     * @param year
+     * @return
+     */
+    public List<GovStatisticsDto> getInstrialLandApplyStatusCommerceSummaryByYear(String year) {
+        List<Integer> statusList = Arrays.asList(2, 4, 6, 7, 8, 9, 10, 11,12,13,14);
+        List<GovStatisticsDto> projectNumDto = industrialLandSupplyDetailDao.getInstrialLandApplyStatusSummaryByYear(year, statusList);
+        return projectNumDto;
+    }
+
+    /**
+     * 供地阶段状态统计
+     * @param year
+     * @return
+     */
+    public List<GovStatisticsDto> getInstrialLandApplyStatusSummaryByYear(String year) {
+        List<Integer> statusList = Arrays.asList(15,16,17,18,19,20,21,22);
+
+        List<GovStatisticsDto> projectNumDto = industrialLandSupplyDetailDao.getInstrialLandApplyStatusSummaryByYear(year, statusList);
+        return projectNumDto;
+    }
 }

+ 87 - 0
src/main/java/platform/modules/government/web/GovStatisticsController.java

@@ -1,5 +1,6 @@
 package platform.modules.government.web;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigurationPackage;
 import org.springframework.stereotype.Controller;
@@ -12,21 +13,26 @@ import platform.common.Constant;
 import platform.common.base.controller.BaseController;
 import platform.common.base.model.DictionaryItem;
 import platform.common.base.service.DictionaryItemService;
+import platform.common.util.DateUtil;
 import platform.modules.government.dto.*;
 import platform.modules.government.dto.StatisticView;
 import platform.modules.government.entity.ProjectServiceType;
 import platform.modules.government.entity.ProjectType;
+import platform.modules.government.entity.Street;
 import platform.modules.government.service.GovStatisticsService;
 import platform.modules.government.service.ProjectServiceTypeService;
 import platform.modules.government.service.ProjectTypeService;
+import platform.modules.government.service.StreetService;
 import platform.modules.sys.web.ResponseMessage;
 
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
 
 
 @Controller
 @RequestMapping("/statistics")
+@Slf4j
 public class GovStatisticsController extends BaseController {
 
     @Autowired
@@ -38,6 +44,9 @@ public class GovStatisticsController extends BaseController {
     @Autowired
     private ProjectTypeService projectTypeService;
 
+    @Autowired
+    private StreetService streetService;
+
     @Autowired
     private ProjectServiceTypeService projectServiceTypeService;
 
@@ -105,6 +114,63 @@ public class GovStatisticsController extends BaseController {
         return ResponseMessage.success("success", statisticsDtoList);
     }
 
+    /**
+     * 产业用地
+     * @return
+     */
+    @GetMapping("/getIndustrialLandSupplyProjectNum")
+    @ResponseBody
+    public Object getIndustrialLandSupplyProjectNum(String year) {
+        List<GovIndustrialLandSupplyProjectNumDto> statisticsDtoList = govStatisticsService.getIndustrialLandSupplyProjectNum(year);
+        return ResponseMessage.success("success", statisticsDtoList);
+    }
+
+    /**
+     * 产业用地月度单据对比统计
+     * @return
+     */
+    @GetMapping("/getInstrialLandApplyMouthlyDataByYear")
+    @ResponseBody
+    public Object getInstrialLandApplyMouthlyDataByYear(String year) {
+        List<GovStatisticsDto> statisticsDtoList = govStatisticsService.getInstrialLandApplyMouthlyDataByYear(year);
+        return ResponseMessage.success("success", statisticsDtoList);
+    }
+
+    /**
+     * 产业用地状态对比-项目预审阶段
+     * @return
+     */
+    @GetMapping("/getInstrialLandApplyStatusCommerceSummaryByYear")
+    @ResponseBody
+    public Object getInstrialLandApplyStatusCommerceSummaryByYear(String year) {
+        List<GovStatisticsDto> statisticsDtoList = govStatisticsService.getInstrialLandApplyStatusCommerceSummaryByYear(year);
+        return ResponseMessage.success("success", statisticsDtoList);
+    }
+
+
+    /**
+     * 产业用地状态对比-项目供地阶段
+     * @return
+     */
+    @GetMapping("/getInstrialLandApplyStatusSummaryByYear")
+    @ResponseBody
+    public Object getInstrialLandApplyStatusSummaryByYear(String year) {
+        List<GovStatisticsDto> statisticsDtoList = govStatisticsService.getInstrialLandApplyStatusSummaryByYear(year);
+        return ResponseMessage.success("success", statisticsDtoList);
+    }
+
+
+    /**
+     * 产业用地状态对比
+     * @return
+     */
+    @GetMapping("/getInstrialLandApplyStageSummaryByYear")
+    @ResponseBody
+    public Object getInstrialLandApplyStageSummaryByYear(String year) {
+        List<GovStatisticsDto> statisticsDtoList = govStatisticsService.getInstrialLandApplyStageSummaryByYear(year);
+        return ResponseMessage.success("success", statisticsDtoList);
+    }
+
     @GetMapping("/toProjectStatistics")
     public Object toProjectStatistics(ModelMap modelMap) {
         List<ProjectType> projectTypeList = projectTypeService.selectAllProjectType();
@@ -112,6 +178,27 @@ public class GovStatisticsController extends BaseController {
         return BASE_GOVERNMENT_PATH + "gov_statistics/project_statistics";
     }
 
+    @GetMapping("/toStocklandPrejuiceStatistics")
+    public Object toStocklandPrejuiceStatistics(ModelMap modelMap) throws ParseException {
+        List<Street> streets = streetService.findList();
+        modelMap.put("streets", streets);
+        // 获取到年份列表
+        List<String> utilTodayYearList = new ArrayList<>();
+        try {
+            utilTodayYearList = DateUtil.getUtilTodayYearList();
+        } catch (ParseException e) {
+            e.printStackTrace();
+            log.error(e.getMessage());
+        }
+        modelMap.put("years", utilTodayYearList);
+        modelMap.put("currentYear", DateUtil.getCurrentYear());
+        //  查询统计数据每个街道,每年的
+        List<ProjectType> projectTypeList = projectTypeService.selectAllProjectType();
+        modelMap.put("projectTypeList", projectTypeList);
+        return BASE_GOVERNMENT_PATH + "gov_statistics/stockland_prejudice_statistics";
+    }
+
+
     /**
      * 区级工业经济扶持申请单据占比
      *

+ 2 - 2
src/main/resources/application-test.yml

@@ -20,8 +20,8 @@ spring:
       max-wait: 2000
   #数据源
   datasource:
-    url: jdbc:mysql://47.105.241.108:33060/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
-#    url: jdbc:mysql://mysql:3306/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
+    url: jdbc:mysql://localhost:33061/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
+#    url: jdbc:mysql://47.105.241.108:33060/service_platform?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true&allowMultiQueries=true
     username: root
     password: ${password}
     driver-class-name: com.mysql.jdbc.Driver

+ 90 - 0
src/main/resources/mapper/government/IndustrialLandSupplyDetailDao.xml

@@ -70,4 +70,94 @@
         FROM industrial_land_supply
         WHERE id = #{id}
     </select>
+    <select id="getIndustrialLandSupplyProjectNum"
+            resultType="platform.modules.government.dto.GovIndustrialLandSupplyProjectNumDto">
+        SELECT
+        s.`name` AS streetName,
+        s.`id` AS streetId,
+        count( ils.id ) AS projectNum
+        FROM
+        s_street s
+        LEFT JOIN z_user u ON s.id = u.street_id
+        LEFT JOIN industrial_land_supply ils ON ils.create_by = u.id
+        <if test="year != null and year !=''">
+            and  DATE_FORMAT( ils.create_time, '%Y' ) = #{year}
+        </if>
+        WHERE
+        u.del_flag = 0
+        AND s.del_flag = 0
+        and s.id != 34
+        GROUP BY
+        s.id
+        order by s.id
+    </select>
+    <select id="getInstrialLandApplyMouthlyDataByYear"
+            resultType="platform.modules.government.dto.GovStatisticsDto">
+        select
+        count(ils.id) as overallNum,
+        DATE_FORMAT(ils.create_time, '%Y-%m') as `type`
+        from industrial_land_supply ils
+        where
+            DATE_FORMAT( ils.create_time, '%Y' ) = #{year}
+        group by `type`
+        order by `type`
+    </select>
+    <select id="getInstrialLandApplyStageSummaryByYear"
+            resultType="platform.modules.government.dto.GovStatisticsDto">
+        SELECT
+        count( ils.id ) AS overallNum,
+        ( CASE ils.process_stage WHEN '1' THEN "项目预审" WHEN '2' THEN "项目供地" END ) AS type
+        FROM
+        industrial_land_supply ils
+        WHERE
+        DATE_FORMAT( ils.create_time, '%Y' ) = #{year}
+        and ils.process_stage is not null and ils.process_stage != ''
+        GROUP BY
+        ils.process_stage
+        ORDER BY
+        ils.process_stage
+
+    </select>
+
+    <select id="getInstrialLandApplyStatusSummaryByYear"
+            resultType="platform.modules.government.dto.GovStatisticsDto">
+        SELECT
+        count( ils.id ) AS overallNum,
+        ( CASE sc.status_value
+        WHEN '1' THEN "待提交商务(属地草稿)"
+        WHEN '2' THEN "待商务处理(属地提交)"
+        WHEN '3' THEN "已撤回(属地撤回)"
+        WHEN '4' THEN "已退回板块(商务办事员退回)"
+        WHEN '5' THEN "待提交(商务办事员草稿)"
+        WHEN '6' THEN "待反馈(商务办事员咨询并提交)"
+        WHEN '7' THEN "待汇总(商务办事员咨询完成)"
+        WHEN '8' THEN "商务局分管领导待审核(商务办事员汇总完成)"
+        WHEN '9' THEN "商务局分管领导退回(商务办事员汇总完成)"
+        WHEN '10' THEN "商务局分管领导不通过(商务办事员汇总完成)"
+        WHEN '21' THEN "退回板块"
+        WHEN '22' THEN "汇总退回(退到商务)"
+        WHEN '11' THEN "待预审审核(商务局分管领导通过)"
+        WHEN '12' THEN "预审退回(商务局分管领导通过)"
+        WHEN '13' THEN "预审不通过(商务局分管领导不通过)"
+        WHEN '14' THEN "预审通过待分发(预审通过)"
+        WHEN '15' THEN "供地分发待反馈(预审通过待分发)"
+        WHEN '16' THEN "供地分发待汇总(供地分发待反馈)"
+        WHEN '17' THEN "待供地审批(供地分发待汇总)"
+        WHEN '18' THEN "供地通过(待供地审批)"
+        WHEN '19' THEN "供不通过(待供地审批)"
+        WHEN '20' THEN "供地退回(待供地审批)"
+            END ) AS type
+        FROM
+        industrial_land_supply ils
+        right join  industrial_land_supply_status_config sc on sc.status_value = ils.approve_status and DATE_FORMAT( ils.create_time, '%Y' ) = #{year}
+        WHERE
+        sc.status_value  IN
+        <foreach collection="statusList" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        GROUP BY
+        sc.status_value
+        ORDER BY
+        sc.status_value
+    </select>
 </mapper>

+ 7 - 0
src/main/resources/templates/admin/common/left.html

@@ -591,6 +591,13 @@
                                 data-title="区级工业经济扶持">区级工业经济扶持</a>
                         <i class="icon-arrow"></i>
                     </li>
+                    <li shiro:hasPermission="G_STOCKLAND_PREJUDICE">
+                        <a
+                                data-menu="G_STOCKLAND_PREJUDICE"
+                                th:attr="data-href=@{/statistics/toStocklandPrejuiceStatistics}"
+                                data-title="产业供地预审">产业供地预审</a>
+                        <i class="icon-arrow"></i>
+                    </li>
                     <li shiro:hasPermission="G_INTELLIGRNT_STATISTICS">
                         <a
                                 data-menu="G_INTELLIGRNT_STATISTICS"

+ 6 - 0
src/main/resources/templates/left.html

@@ -541,6 +541,12 @@
                                 th:attr="data-href=@{/statistics/toProjectStatistics}" data-title="区级工业经济扶持">区级工业经济扶持</a>
                         <i class="icon-arrow"></i>
                     </li>
+                    <li shiro:hasPermission="G_STOCKLAND_PREJUDICE">
+                        <a
+                                data-menu="G_STOCKLAND_PREJUDICE"
+                                th:attr="data-href=@{/statistics/toProjectStatistics}" data-title="产业供地预审">产业供地预审</a>
+                        <i class="icon-arrow"></i>
+                    </li>
                     <li shiro:hasPermission="G_INTELLIGRNT_STATISTICS">
                         <a
                                 data-menu="G_INTELLIGRNT_STATISTICS"

+ 39 - 0
src/test/java/platform/modules/test/StreetTest.java

@@ -0,0 +1,39 @@
+package platform.modules.test;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import platform.RootApplication;
+import platform.modules.government.dto.GovIndustrialLandSupplyProjectNumDto;
+import platform.modules.government.entity.Street;
+import platform.modules.government.service.GovStatisticsService;
+import platform.modules.government.service.StreetService;
+
+import java.util.List;
+
+@SpringBootTest(classes = {RootApplication.class})
+@RunWith(SpringRunner.class)
+@Slf4j
+public class StreetTest {
+
+    @Autowired
+    private StreetService streetService;
+
+    @Autowired
+    GovStatisticsService govStatisticsService;
+
+    @Test
+    public void getStreet() {
+        List<Street> streets = streetService.findList();
+        System.out.println(streets);
+    }
+
+    @Test
+    public void getIndustrialLandSupplyProjectNum() {
+        List<GovIndustrialLandSupplyProjectNumDto> industrialLandSupplyProjectNum = govStatisticsService.getIndustrialLandSupplyProjectNum("2021");
+        System.out.println(industrialLandSupplyProjectNum);
+    }
+}

+ 7 - 0
src/test/java/platform/modules/test/test.java

@@ -10,8 +10,10 @@ import org.springframework.test.context.junit4.SpringRunner;
 import platform.RootApplication;
 import platform.common.Constant;
 import platform.common.util.AlibabaSMSUtil;
+import platform.common.util.DateUtil;
 import platform.modules.api.service.StockSqlService;
 
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -84,4 +86,9 @@ public class test {
             e.printStackTrace();
         }
     }
+
+    @Test
+    public void testGetYearList () throws ParseException {
+        System.out.println(DateUtil.getUtilTodayYearList());
+    }
 }