From 5d1d4b8516c6071a4bb69ba507f6d23eb73e8a67 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 31 三月 2023 14:10:38 +0800 Subject: [PATCH] 驾驶舱接口优化 --- ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java | 4 + ycl-platform/src/main/resources/application-dev.yml | 2 document/驾驶舱数据接口文档(ai物联和综合决策).docx | 0 ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java | 37 +++++++++--- ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamIndex.java | 41 +++++++++++++ ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java | 7 ++ ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java | 5 + ycl-platform/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml | 49 ++++++++++++++++ ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamConstruction.java | 31 +++++++--- 9 files changed, 154 insertions(+), 22 deletions(-) diff --git "a/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243\357\274\210ai\347\211\251\350\201\224\345\222\214\347\273\274\345\220\210\345\206\263\347\255\226\357\274\211.docx" "b/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243\357\274\210ai\347\211\251\350\201\224\345\222\214\347\273\274\345\220\210\345\206\263\347\255\226\357\274\211.docx" index d6ccb54..3732dce 100644 --- "a/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243\357\274\210ai\347\211\251\350\201\224\345\222\214\347\273\274\345\220\210\345\206\263\347\255\226\357\274\211.docx" +++ "b/document/\351\251\276\351\251\266\350\210\261\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243\357\274\210ai\347\211\251\350\201\224\345\222\214\347\273\274\345\220\210\345\206\263\347\255\226\357\274\211.docx" Binary files differ diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java index 1aea260..57471f9 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java @@ -216,18 +216,35 @@ @GetMapping("/team_index") public CommonResult<List<TeamIndex>> teamIndex(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0); - List<TeamConstruction> list = teamConstructionService.list(queryWrapper); - List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class); + + // LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0); + // List<TeamConstruction> list = teamConstructionService.list(queryWrapper); + // List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class); + // teamIndexList.forEach(o -> { + // o.setStepTimely(0.0); + // o.setStepDelayed(0.0); + // o.setStepOvertime(0.0); + // o.setHandleTimely(0.0); + // o.setHandleDelayed(0.0); + // o.setHandleOvertime(0.0); + // o.setNoHandle(0.0); + // }); + List<TeamIndex> teamIndexList = teamConstructionService.teamIndex(params.getBeginTime(), params.getEndTime()); teamIndexList.forEach(o -> { - o.setStepTimely(0.6); - o.setStepDelayed(0.3); - o.setStepOvertime(0.1); - o.setHandleTimely(0.6); - o.setHandleDelayed(0.2); - o.setHandleOvertime(0.1); - o.setNoHandle(0.1); + + o.setAllocation(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount()) + + 18 * ((double) o.getOverCount() / (double) o.getAllCount()) + + 15 * ((double) o.getNoHandleCount() / (double) o.getAllCount())); + o.setHandle(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount()) + + 5 * ((double) o.getOverCount() / (double) o.getAllCount()) + - 2 * ((double) o.getNoHandleCount() / (double) o.getAllCount())); + + o.setOnline(0.0); + o.setDuration(0.0); + o.setDistance(0.0); }); return CommonResult.success(teamIndexList); } } + + diff --git a/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamConstruction.java b/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamConstruction.java index 833bfca..40ca494 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamConstruction.java +++ b/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamConstruction.java @@ -56,73 +56,79 @@ private Integer upUndergraduatePeopleNumber; /** - * 鏈瀛﹀巻鍙婁互涓婁汉鏁� + * 鎸佽瘉浜烘暟 */ @TableField("holder_number") @ExcelProperty(value = "鎸佽瘉浜烘暟", index = 3) private Integer holderNumber; /** + * 鎵ф硶浜哄憳鎬绘暟 + */ + @TableField("law_enforcement_officer") + @ExcelProperty(value = "鎵ф硶浜哄憳鎬绘暟", index = 4) + private Integer lawEnforcementOfficer; + /** * 45宀佷互涓嬩汉鏁� */ @TableField("under_forty_five_people_number") - @ExcelProperty(value = "45宀佷互涓嬩汉鏁�", index = 4) + @ExcelProperty(value = "45宀佷互涓嬩汉鏁�", index = 5) private Integer underFortyFivePeopleNumber; /** * 娉曞緥鑱屼笟璧勬牸璇佷汉鏁� */ @TableField("legal_professional_qualification_certificate_people_number") - @ExcelProperty(value = "娉曞緥鑱屼笟璧勬牸璇佷汉鏁�", index = 5) + @ExcelProperty(value = "娉曞緥鑱屼笟璧勬牸璇佷汉鏁�", index = 6) private Integer legalProfessionalQualificationCertificatePeopleNumber; /** * 閫氭姤鏁伴噺 */ @TableField("report_number") - @ExcelProperty(value = "閫氭姤鏁伴噺", index = 6) + @ExcelProperty(value = "閫氭姤鏁伴噺", index = 7) private Integer reportNumber; /** * 杩濈邯琛屼负鏁伴噺 */ @TableField("disciplinary_offence_number") - @ExcelProperty(value = "杩濈邯琛屼负鏁伴噺", index = 7) + @ExcelProperty(value = "杩濈邯琛屼负鏁伴噺", index = 8) private Integer disciplinaryOffenceNumber; /** * 杩濇硶鐘姜琛屼负鏁伴噺 */ @TableField("criminal_offense_number") - @ExcelProperty(value = "杩濇硶鐘姜琛屼负鏁伴噺", index = 8) + @ExcelProperty(value = "杩濇硶鐘姜琛屼负鏁伴噺", index = 9) private Integer criminalOffenseNumber; /** * 姣忔湀妗堜欢鏁伴噺 */ @TableField("month_case_number") - @ExcelProperty(value = "姣忔湀妗堜欢鏁伴噺", index = 9) + @ExcelProperty(value = "姣忔湀妗堜欢鏁伴噺", index = 10) private Integer monthCaseNumber; /** * 姣忔湀妗堜欢鏁伴噺 */ @TableField("month_index_number") - @ExcelProperty(value = "姣忔湀鎸囨爣鏁�", index = 10) + @ExcelProperty(value = "姣忔湀鎸囨爣鏁�", index = 11) private Integer monthIndexNumber; /** * 鏈秴鏃舵浠舵暟閲� */ @TableField("no_timeout_case_number") - @ExcelProperty(value = "鏈秴鏃舵浠舵暟閲�", index = 11) + @ExcelProperty(value = "鏈秴鏃舵浠舵暟閲�", index = 12) private Integer noTimeoutCaseNumber; /** * 澶嶈瘔鎴栬瘔璁兼暟閲� */ @TableField("review_or_lawsuit_number") - @ExcelProperty(value = "澶嶈瘔鎴栬瘔璁兼暟閲�", index = 12) + @ExcelProperty(value = "澶嶈瘔鎴栬瘔璁兼暟閲�", index = 13) private Integer reviewOrLawsuitNumber; /** @@ -152,4 +158,9 @@ @TableField("update_time") @ExcelIgnore private LocalDateTime updateTime; + + + @TableField("region_id") + @ExcelIgnore + private Long regionId; } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamIndex.java b/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamIndex.java index 0ea8399..0f3b569 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamIndex.java +++ b/ycl-platform/src/main/java/com/ycl/entity/cockpitManage/TeamIndex.java @@ -22,7 +22,6 @@ */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("ums_team_construction") public class TeamIndex extends TeamConstruction implements Serializable { private Double stepTimely; @@ -33,4 +32,44 @@ private Double handleOvertime; private Double noHandle; + /** + * 鎺ユ敹鍒板眬淇℃伅鎸囨尌涓績涓嬫淳浠诲姟锛屽彈鐞嗗苟鍒嗘淳鏃舵晥 + */ + private Double allocation; + + /** + * 澶勭疆浜哄憳鎺ュ彈鍒嗘淳鍚庣殑澶勭悊閫熷害 + */ + private Double handle; + + /** + * 涓槦闃熷憳鎵ф硶璁板綍浠瘡鏃ュ湪绾跨巼 + */ + private Double online; + + /** + * 涓槦闃熷憳鎵ф硶璁板綍浠瘡鏃ュ钩鍧囨椂闀� + */ + private Double duration; + + /** + * 涓槦闃熷憳鎵ф硶璁板綍浠瘡鏃ュ钩鍧囧綊闆嗚窛绂� + */ + private Double distance; + /** + * 妗堜欢鎬绘暟 + */ + private Integer allCount; + /** + * 鍑嗘椂妗堜欢 + */ + private Integer punctualityCount; + /** + * 瓒呮椂妗堜欢 + */ + private Integer overCount; + /** + * 鏈鐞嗘浠� + */ + private Integer noHandleCount; } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java index 16adec8..1edc6a3 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/cockpitManage/TeamConstructionMapper.java @@ -2,6 +2,10 @@ import com.ycl.entity.cockpitManage.TeamConstruction; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.entity.cockpitManage.TeamIndex; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +17,5 @@ */ public interface TeamConstructionMapper extends BaseMapper<TeamConstruction> { + List<TeamIndex> teamIndex(@Param("beginTime") String beginTime, @Param("endTime") String endTime); } diff --git a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java index e6b671c..60b9fee 100644 --- a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java +++ b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/ITeamConstructionService.java @@ -2,6 +2,9 @@ import com.ycl.entity.cockpitManage.TeamConstruction; import com.baomidou.mybatisplus.extension.service.IService; +import com.ycl.entity.cockpitManage.TeamIndex; + +import java.util.List; /** * <p> @@ -13,4 +16,5 @@ */ public interface ITeamConstructionService extends IService<TeamConstruction> { + List<TeamIndex> teamIndex(String beginTime, String endTime); } diff --git a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java index b940f3c..bfcf063 100644 --- a/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/cockpitManage/impl/TeamConstructionServiceImpl.java @@ -1,10 +1,13 @@ package com.ycl.service.cockpitManage.impl; import com.ycl.entity.cockpitManage.TeamConstruction; +import com.ycl.entity.cockpitManage.TeamIndex; import com.ycl.mapper.cockpitManage.TeamConstructionMapper; import com.ycl.service.cockpitManage.ITeamConstructionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -17,4 +20,8 @@ @Service public class TeamConstructionServiceImpl extends ServiceImpl<TeamConstructionMapper, TeamConstruction> implements ITeamConstructionService { + @Override + public List<TeamIndex> teamIndex(String beginTime, String endTime) { + return baseMapper.teamIndex(beginTime, endTime); + } } diff --git a/ycl-platform/src/main/resources/application-dev.yml b/ycl-platform/src/main/resources/application-dev.yml index 1a441d0..7f25105 100644 --- a/ycl-platform/src/main/resources/application-dev.yml +++ b/ycl-platform/src/main/resources/application-dev.yml @@ -35,7 +35,7 @@ timeout: 0 datasource: - url: jdbc:mysql://42.193.1.25:3306/sccg0318?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false + url: jdbc:mysql://42.193.1.25:3306/sccg?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false username: root password: 321$YcYl@1970! type: com.alibaba.druid.pool.DruidDataSource diff --git a/ycl-platform/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml b/ycl-platform/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml new file mode 100644 index 0000000..b63a45a --- /dev/null +++ b/ycl-platform/src/main/resources/mapper/cockpitManage/TeamConstructionMapper.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ycl.mapper.cockpitManage.TeamConstructionMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ycl.entity.cockpitManage.TeamConstruction"> + <id column="id" property="id"/> + <result column="name" property="name"/> + <result column="people_number" property="peopleNumber"/> + <result column="up_undergraduate_people_number" property="upUndergraduatePeopleNumber"/> + <result column="under_forty_five_people_number" property="underFortyFivePeopleNumber"/> + <result column="legal_professional_qualification_certificate_people_number" + property="legalProfessionalQualificationCertificatePeopleNumber"/> + <result column="report_number" property="reportNumber"/> + <result column="disciplinary_offence_number" property="disciplinaryOffenceNumber"/> + <result column="criminal_offense_number" property="criminalOffenseNumber"/> + <result column="month_case_number" property="monthCaseNumber"/> + <result column="month_index_number" property="monthIndexNumber"/> + <result column="no_timeout_case_number" property="noTimeoutCaseNumber"/> + <result column="review_or_lawsuit_number" property="reviewOrLawsuitNumber"/> + <result column="holder_number" property="holderNumber"/> + <result column="law_enforcement_officer" property="lawEnforcementOfficer"/> + </resultMap> + <resultMap id="VOMap" extends="BaseResultMap" type="com.ycl.entity.cockpitManage.TeamIndex"> + + <result column="all_count" property="allCount"/> + <result column="no_handle_count" property="noHandleCount"/> + <result column="over_count" property="overCount"/> + <result column="punctuality_count" property="punctualityCount"/> + </resultMap> + <select id="teamIndex" resultMap="VOMap"> + SELECT tc.id,tc.name, tc.people_number, tc.up_undergraduate_people_number, tc.under_forty_five_people_number, tc.legal_professional_qualification_certificate_people_number, tc.report_number, tc.disciplinary_offence_number,tc.criminal_offense_number, tc.month_case_number, tc.month_index_number, tc.no_timeout_case_number,tc.review_or_lawsuit_number, tc.holder_number, tc.law_enforcement_officer , + count(bc.id) all_count, + sum(case WHEN (dr.state =1 and (dr.limit_time > dr.end_time or dr.limit_time is null) ) THEN 1 ELSE 0 END) punctuality_count, + sum(case WHEN (dr.state =1 and dr.limit_time < dr.end_time and dr.end_time is not null ) THEN 1 ELSE 0 END) over_count, + sum(case WHEN (dr.state =1 and dr.limit_time < dr.end_time and dr.end_time is null ) THEN 1 ELSE 0 END) no_handle_count + from ums_team_construction tc + LEFT JOIN ums_base_case bc on tc.region_id = bc.street_id + <if test="beginTime!=null and beginTime!=''"> + and bc.alarm_time between #{beginTime} and #{endTime} + </if> + LEFT JOIN ums_dispose_record dr on bc.id = dr.base_case_id + + GROUP BY tc.id,tc.name, tc.people_number, tc.up_undergraduate_people_number, tc.under_forty_five_people_number, tc.legal_professional_qualification_certificate_people_number, tc.report_number, tc.disciplinary_offence_number,tc.criminal_offense_number, tc.month_case_number, tc.month_index_number, tc.no_timeout_case_number,tc.review_or_lawsuit_number, tc.holder_number, tc.law_enforcement_officer + + </select> + + +</mapper> -- Gitblit v1.8.0