1121-服务监督模块-大屏展示-接口设计.md 54 KB

服务监督模块,大屏展示-接口设计

createTime 2024-11-21

大屏尺寸

image-20241104094218224

效果图

微信图片_20241108231049

微信图片_20241108231155

微信图片_20241108231158

接口设计

基础数据

(1)数据字典 (ok)

  • 接口地址:/system/dict/data/list?pageNum=&pageSize=&dictType=

  • 请求方式:GET

  • 请求参数:

    参数名 含义 类型 是否必填 备注
    dictType 字典类型 字符串 必填
    pageNum 第几页 int 默认1
    pageSize 一页记录数 int 默认 ?
  • 返回结果:

    中文名 字段名 类型 备注
    状态码 code int 200:成功,其他:错误
    成功/错误消息 msg string
    总记录数 total int
    结果集 rows 数组
    • rows 结果集

      字段名 含义 类型 备注
      dictValue 代码值 字符串
      dictLabel 标题 字符串
      dictSort 排序 int

(2)诉求来源列表(ok)

  • 接口地址:/supervision/appealSource/list?pageNum=1&pageSize=20&orderByColumn=createTime&isAsc=descending

  • 请求方式:GET

  • 请求参数:

    参数名 含义 类型 是否必填 备注
    pageNum 第几页 int
    pageSize 一页几条 int
    orderByColumn 排序字段名 String
    isAsc 是否升序 String descending 降序,默认升序
  • 返回结果:

    中文名 字段名 类型 备注
    状态码 code int 200:成功,其他:错误
    成功/错误消息 msg string
    总记录数 total int
    结果集 rows 数组
    • rows 结果集

      字段名 含义 类型 备注
      id id Long
      sourceName 来源名称 字符串
      sourceRemark 备注 字符串
      delFlag 删除标记 字符串 0:没删,1:已删
      createTime 创建时间

(3)诉求类型列表(ok)

调用数据字典接口,字典类型,传入: supervision_appeal_type

服务监督模块

(1)各诉求来源,某诉求类型一段时间内,诉求件数统计 (yes) ------(段)

image-20241121163908061

参数:诉求类型字典号,开始日期,结束日期

结果:来源id,来源名称,诉求件数(int),占比(字符串,比如 25%)

注意点:所有来源的占比,加起来 = 100%

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealSourceCount

  • 请求方式:POST

  • 请求参数:

    参数名 含义 类型 是否必填 备注
    appealType 诉求类型 int
    startTime 开始日期(时间格式为yyyy-MM-dd) String
    endTime 结束日期(时间格式为yyyy-MM-dd) String
  • 返回结果:

    中文名 字段名 类型 备注
    状态码 code int 200:成功,其他:错误
    成功/错误消息 msg string
    结果集 data 对象
  • rows 结果集

    字段名 含义 类型 备注
    id id Long
    sourceName 来源名称 字符串
    manageUnit 主管单位 字符串
    sourceCount 诉求总件数 Long
    createTime 创建时间

{

"msg": "操作成功",
"code": 200,
"data": [
    {
        "searchValue": null,
        "createBy": null,
        "createByUser": null,
        "createByNickName": null,
        "deptIdOfCreateBy": null,
        "deptNameOfCreateBy": null,
        "deptAncestorOfCreateBy": null,
        "deptAncestorsNamesOfCreateBy": null,
        "createTime": "2024-08-30 14:54:51",
        "updateBy": null,
        "updateTime": "2024-10-14 23:19:33",
        "remark": null,
        "ccedList": null,
        "sysAttachmentList": null,
        "params": {},
        "id": 2,
        "delFlag": "0",
        "sourceName": "市12345",
        "bindExcelFlag": 1,
        "manageUnit": "南京市政府",
        "sourceLinkTel": "12345",
        "sourceRemark": null,
        "weManageDept": "江宁公交集团",
        "weManageDeptId": "100",
        "weManageUser": "汪晶晶",
        "weManageUserId": "571",
        "sourceCount": 2,
        "attachmentIds": null,
        "bindExcelFile": null
    },
    ......
]

}

(2)各诉求类型,一段时间内,诉求件数统计(yes)--(厉)

image-20241121163714250

参数:开始日期,结束日期

结果:诉求类型字典代码,诉求类型名称,诉求件数,占比(字符串,比如:12%)

注意:所有占比加起来必须=100%

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealTypeStatement

  • 请求方式:POST

  • 请求参数:

参数名 含义 类型 是否必填 备注
startDate 开始日期 String 时间格式为yyyy-MM-dd
endDate 结束日期 String 时间格式为yyyy-MM-dd
  • 返回结果:
中文名 字段名 类型 备注
状态码 code int 200:成功,其他:错误
成功/错误消息 msg string

appealTypeName:诉求类型名称,appealType:诉求类型字典值,workorderNum:办理件数

{
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "appealTypeName": "意见建议",
            "appealType": "1",
            "workorderNum": 6
        },
        {
            "appealTypeName": "表扬",
            "appealType": "2",
            "workorderNum": 1
        },
        {
            "appealTypeName": "求助",
            "appealType": "3",
            "workorderNum": 1
        },
        {
            "appealTypeName": "咨询",
            "appealType": "4",
            "workorderNum": 2
        },
        {
            "appealTypeName": "投诉举报",
            "appealType": "5",
            "workorderNum": 1
        }
    ]
}

(3)诉求对象按年龄段,统计一段时间内,诉求件数和占比(yes)--(李)

image-20241121163934191

参数:开始日期,结束日期

结果:年龄区间(比如 30以内,30-40,40-50,50-60,60-70,70以上),诉求件数,占比

占比总和必须=100%

  • 修改为根据性别统计 (男,女,未知)

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealSex

  • 请求方式:POST

  • 请求参数:

参数名 含义 类型 是否必填 备注
staTime 开始时间(2024-10-01) String
endTime 结束时间(2024-11-30) String
  • 返回结果:
中文名 字段名 类型 备注
状态码 code int 200:成功,其他:错误
成功/错误消息 msg string
结果集 data 对象
  {
  	"msg": "操作成功",
  	"code": 200,
  	"data": {
  		"totalNum": 11,
  		"finishedNum": null,
  		"pendingNum": null,
  		"execNum": null,
  		"satisfaction": null,
  		"satisfactionNum": null,
  		"finishOnTime": null,
  		"finishOnTimeNum": null,
  		"averageProcessingTimeConsult": null,
  		"averageProcessingTimeNoConsult": null,
  		"type": null,
  		"mom": null,
  		"manNum": 10,
  		"manPercentage": "90.91%",
  		"girlNum": 1,
  		"girlPercentage": "9.09%",
  		"unknownNum": 0,
  		"unknownPercentage": "0.0%"
  	}
  }
  package com.legend.supervision.domain;
  
  import lombok.Data;
  
  /**
   * @author ls
   * @date 2024-11-27 10:31
   * 诉求总览
   */
  @Data
  public class AppealAll {
      //总件数
      private Integer totalNum;
      //已办
      private Integer finishedNum;
      //待办
      private Integer pendingNum;
      //执行分配中
      private Integer execNum;
      //满意度
      private String satisfaction;
      //满意数量
      private Integer satisfactionNum;
      //按时办结率
      private String finishOnTime;
      //按时办结数量
      private Integer finishOnTimeNum;
      //平均处理时长咨询
      private Integer averageProcessingTimeConsult;
      //平均处理时长非咨询
      private Integer averageProcessingTimeNoConsult;
      //类型 null,0-总览,1-当月
      private Integer type;
      //本月环比
      private String mom;
      //男数量
      private Integer manNum;
      //男占比
      private String manPercentage;
      //女数量
      private Integer girlNum;
      //女占比
      private String girlPercentage;
      //未知数量
      private Integer unknownNum;
      //未知占比
      private String unknownPercentage;
  }
  

(4)诉求总览(一段时间内)(yes)--(李)

image-20241121164214862

image-20241121164243366

image-20241121165338982

请求参数:开始日期,结束日期

结果:总件数,已办件数,待处理件数,执行分配中件数,

本月环比(小数,精度3)考虑一下环比的计算公式,是否会出现正负,若有,正负,前端怎么表现?

满意度(0-1的小时,精度3,比如0.985 最后显示的是98.5%),按时办结率(小时,精度3),

咨询类-平均处理时长-值(小数,精度3),咨询类-平均处理时长-单位(1:小时,2:分钟,3:工作日)

非咨询类-平均处理时长-值(小数,精度3),非咨询类-平均处理时长-单位(1:小时,2:分钟,3:工作日)

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealAllCount

  • 请求方式:POST

  • 请求参数:

    参数名 含义 类型 是否必填 备注
    type 类型(null,0 = 全部, 1 = 上月) int type=0,null 时间必填
    staTime 开始时间 String
    endTime 结束时间 String
  • 返回结果:

| 中文名 | 字段名 | 类型 | 备注 | | ------------- | ------ | ------ | ------------------- | | 状态码 | code | int | 200:成功,其他:错误 | | 成功/错误消息 | msg | string | | | 结果集 | data | 对象 | |

  {
  	"msg": "操作成功",
  	"code": 200,
  	"data": {
  		"totalNum": 11,
  		"finishedNum": 4,
  		"pendingNum": 5,
  		"execNum": 2,
  		"satisfaction": "50.0%",
  		"satisfactionNum": 2,
  		"finishOnTime": "100.0%",
  		"finishOnTimeNum": 4,
  		"averageProcessingTimeConsult": 0,
  		"averageProcessingTimeNoConsult": 8,
  		"type": null,
  		"mom": null,
  		"manNum": null,
  		"manPercentage": null,
  		"girlNum": null,
  		"girlPercentage": null,
  		"unknownNum": null,
  		"unknownPercentage": null
  	}
  }
  package com.legend.supervision.domain;
  
  import lombok.Data;
  
  /**
   * @author ls
   * @date 2024-11-27 10:31
   * 诉求总览
   */
  @Data
  public class AppealAll {
      //总件数
      private Integer totalNum;
      //已办
      private Integer finishedNum;
      //待办
      private Integer pendingNum;
      //执行分配中
      private Integer execNum;
      //满意度
      private String satisfaction;
      //满意数量
      private Integer satisfactionNum;
      //按时办结率
      private String finishOnTime;
      //按时办结数量
      private Integer finishOnTimeNum;
      //平均处理时长咨询
      private Integer averageProcessingTimeConsult;
      //平均处理时长非咨询
      private Integer averageProcessingTimeNoConsult;
      //类型 null,0-总览,1-当月
      private Integer type;
      //本月环比
      private String mom;
      //男数量
      private Integer manNum;
      //男占比
      private String manPercentage;
      //女数量
      private Integer girlNum;
      //女占比
      private String girlPercentage;
      //未知数量
      private Integer unknownNum;
      //未知占比
      private String unknownPercentage;
  }

(5)诉求办理进展 (yes)--(纪)

image-20241121165411597

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealWorkorderStatus?pageNum=1&pageSize=8

  • 请求方式:POST

  • 参数:params.startAppealTime 开始日期 格式 yyyy-MM-dd

​ params.endAppealTime 结束日期 格式 yyyy-MM-dd

{
    "params": {
        "startAppealTime": "2024-01-01",   
        "endAppealTime": "2024-11-30"
    }
}
  • 返回值
emergentFlagDictName 是否紧急-名称 字符串
emergentFlag 是否紧急-数据字典code 字符串
appealTypeDictName 诉求类型-字典名称
appealType 诉求类型-字典code
workorderNo 工单编号
serviceObject 诉求对象(谁投诉的)
callTel 来电号码
statusDictName 工单状态 name 字符串
status 工单状态 code 字符串 0:待交办,1:待(下级)接收,2:(下级)已退回,3:待子公司办结,4:待集团办结,5:已退回(给外面),6:已办结
  • 调用示例

    var axios = require('axios');
    var data = JSON.stringify({
    "params": {
      "startAppealTime": "2024-01-01",
      "endAppealTime": "2024-11-30"
    }
    });
    
    var config = {
    method: 'post',
    url: 'http://192.168.2.16:8182/interface4ext/supervision/appealStatement/getAppealWorkorderStatus',
    headers: { 
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', 
      'Content-Type': 'application/json', 
      'Accept': '*/*', 
      'Host': '192.168.2.16:8182', 
      'Connection': 'keep-alive'
    },
    data : data
    };
    
    axios(config)
    .then(function (response) {
    console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
    console.log(error);
    });
    
    
    {
    "total": 1,
    "rows": [
        {
            "createTime": "2024-10-16 17:36:44",            
            "updateTime": "2024-11-07 16:25:37",            
            "id": 1487,
            "delFlag": "0",
            "workorderNo": "GD20241016-0002",
            "sourceId": 9,
            "sourceName": "宁易行APP",
            "serviceObject": "孙杰",
            "serviceObjectSex": 0,
            "letterFlag": 0,
            "callTel": "13225210913",
            "callTime": "2024-10-24 16:23:49",
            "linkTel1": null,
            "linkTel2": null,
            "cardType": null,
            "cardNo": null,
            "appealPurpose": "ces11",
            "appealAddress": null,
            "appealContent": "拒绝更改d6,方便那些所谓居民,他们不上班换乘怎么了,也就多十几分钟,但是对上班人不一样,要早起半小时,换乘说不定动不动迟到,希望领导大公无私,而不是所谓的卖那边楼",
            "appealEmotional": null,
            "appealType": "2",
            "appealTypeDictName": "表扬",
            "serviceType": "0",
            "incidentTime": null,
            "receiveTime": null,
            "emergentFlag": 0,
            "emergentFlagDictName": "不紧急",
            "classificType": null,
            "classificTypeSubdivision": "5",
            "completedDeadlineTime": null,
            "returnDeadlineTime": null,
            "assignedDeadlineTime": "2024-10-24 16:24:33",
            "returnVisitFlag": 0,
            "status": "1",
            "statusDictName": "待接收",
            "organizerUnit": "集团行政综合部",
            "organizerUnitId": 275,            
            "reviewFlag": 0,
            "appealFlow": null,
            "attachmentIds": null,
            "assistingRelationId": null,
            "assistingUnit": null,
            "assistingUnitIds": null,
            "handleFlag": null,
            "dealId": null,
            "dealType": null,
            "dealTime": null,
            "dealDept": null,
            "assistingRelationStatus": null,
            "appealReturnVisit": null,
            "appealDeal": null 
        }
    ],
    "code": 200,
    "msg": "查询成功"
    }
    

(6)各单位,一段时间内,全部诉求类型 或者 单个诉求类型 办理诉求件数(yes)--(厉)

image-20241121165537460

请求参数:开始日期,结束日期,诉求类型,

结果:部门id,部门名称,各个诉求类型分别数量

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealTypeDeptStatement

  • 请求方式:POST

  • 请求参数:

参数名 含义 类型 是否必填 备注
startDate 开始日期 String 时间格式为yyyy-MM-dd
endDate 结束日期 String 时间格式为yyyy-MM-dd
appealTypeDict 诉求类型数据字典值 String 1:意见建议,2:表扬,3:求助,4:咨询,5:投诉举报,6:其他,7:文明服务,8:线路需求
  • 返回结果:
中文名 字段名 类型 备注
状态码 code int 200:成功,其他:错误
成功/错误消息 msg string

deptName:单位名称,appealTypeName:诉求类型名称,appealType:诉求类型字典值,workorderNum:办理件数

  {
    "msg": "操作成功",
    "code": 200,
    "data": {
        "deptNameList": [
            "东山公交服务质量部",
            "集团行政综合部",
            "集团党群工作部",
            "东山公交汽车八队",
            "集团审计内控部",
            "公共交通信息科技有限公司",
            "集团资产合规部"
        ],
        "appealTypeMap": {
            "意见建议": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 2
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 0
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 2
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 0
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "意见建议",
                    "appealType": "1",
                    "workorderNum": 0
                }
            ],
            "表扬": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 0
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 1
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "表扬",
                    "appealType": "2",
                    "workorderNum": 0
                }
            ],
            "求助": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 0
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 0
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "求助",
                    "appealType": "3",
                    "workorderNum": 0
                }
            ],
            "咨询": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 1
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 1
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 1
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "咨询",
                    "appealType": "4",
                    "workorderNum": 1
                }
            ],
            "投诉举报": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "投诉举报",
                    "appealType": "5",
                    "workorderNum": 0
                }
            ],
            "其他": [
                {
                    "deptName": "东山公交服务质量部",
                    "deptId": 230,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团行政综合部",
                    "deptId": 275,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团党群工作部",
                    "deptId": 278,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "东山公交汽车八队",
                    "deptId": 241,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团审计内控部",
                    "deptId": 284,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "公共交通信息科技有限公司",
                    "deptId": 101,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                },
                {
                    "deptName": "集团资产合规部",
                    "deptId": 281,
                    "appealTypeName": "其他",
                    "appealType": "6",
                    "workorderNum": 0
                }
            ]
        }
    }
}

(7)各单位一段时间内,主办和协办诉求件数排名,根据总数排名(yes)--(厉)

image-20241121165813972

请求参数:开始日期,结束日期,诉求类型,诉求来源

结果:部门id,部门名称,主办件数,协办件数,总件数

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealDeptStatement

  • 请求方式:POST

  • 请求参数:

参数名 含义 类型 是否必填 备注
startDate 开始日期 String 时间格式为yyyy-MM-dd
endDate 结束日期 String 时间格式为yyyy-MM-dd
  • 返回结果:
中文名 字段名 类型 备注
状态码 code int 200:成功,其他:错误
成功/错误消息 msg string

deptName:单位名称,deptId:单位id,organizerNum:主办件数,assistingNum:协办件数,totalNum:主办协办总数

{
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "deptName": "东山公交汽车八队",
            "deptId": 241,
            "organizerNum": 0,
            "assistingNum": 4,
            "totalNum": 4
        },
        {
            "deptName": "东山公交服务质量部",
            "deptId": 230,
            "organizerNum": 4,
            "assistingNum": 0,
            "totalNum": 4
        },
        {
            "deptName": "集团审计内控部",
            "deptId": 284,
            "organizerNum": 0,
            "assistingNum": 2,
            "totalNum": 2
        },
        {
            "deptName": "集团行政综合部",
            "deptId": 275,
            "organizerNum": 1,
            "assistingNum": 0,
            "totalNum": 1
        },
        {
            "deptName": "公共交通信息科技有限公司",
            "deptId": 101,
            "organizerNum": 0,
            "assistingNum": 1,
            "totalNum": 1
        },
        {
            "deptName": "集团党群工作部",
            "deptId": 278,
            "organizerNum": 1,
            "assistingNum": 0,
            "totalNum": 1
        },
        {
            "deptName": "集团资产合规部",
            "deptId": 281,
            "organizerNum": 0,
            "assistingNum": 1,
            "totalNum": 1
        }
    ]
}

(8)各责任单位一段时间内,涉及诉求件数排名 (yes)--(纪)

image-20241121165913634

  • 接口地址:/interface4ext/supervision/appealStatement/getDutyDeptWorkorderRank

  • 请求方式:GET

  • 请求参数:startDate 开始日期 字符串 yyyy-MM-dd 默认7天前的日期

endDate 结束日期 字符串,yyyy-MM-dd 默认今天的日期

  • 结果:

dutyDeptId 责任单位部门id Long

dutyDeptName 责任单位名称 字符串

workorderSize 涉及诉求工单数,int

proportion 占比,(0-1 的小数)float 进度3

  • axios 请求示例

比如:http://localhost:8182/interface4ext/supervision/appealStatement/getDutyDeptWorkorderRank?startDate=&endDate=

var axios = require('axios');

var config = {
   method: 'get',
   url: 'http://192.168.2.16:8182/interface4ext/supervision/appealStatement/getDutyDeptWorkorderRank?startDate=&endDate',
   headers: { 
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', 
      'Accept': '*/*', 
      'Host': '192.168.2.16:8182', 
      'Connection': 'keep-alive'
   }
};

axios(config)
.then(function (response) {
   console.log(JSON.stringify(response.data));
})
.catch(function (error) {
   console.log(error);
});

结果:

{
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "startDate": null,
            "endDate": null,
            "dutyDeptId": 241,
            "dutyDeptName": "东山公交汽车八队",
            "workorderSize": 4,
            "proportion": 1.0
        }
    ]
}

(9)各责任线路,一段时间内,某诉求类型,涉及诉求件数排名(yes)--(段)

image-20241121170045090

请求参数:开始日期,结束日期,诉求类型,诉求来源

结果:名次,线路code,线路名称,诉求件数

根据名次倒序

  • 接口地址:/interface4ext/supervision/appealStatement/getAppealLineCount

  • 请求方式:POST

  • 请求参数:

    参数名 含义 类型 是否必填 备注
    appealType 诉求类型 int
    startTime 开始日期(时间格式为yyyy-MM-dd) String
    endTime 结束日期(时间格式为yyyy-MM-dd) String
  • 返回结果:

    中文名 字段名 类型 备注
    状态码 code int 200:成功,其他:错误
    成功/错误消息 msg string
    结果集 data 对象
  • rows 结果集

    字段名 含义 类型 备注
    id id Long
    extLineNames 线路号 字符串
    extLineCodes 线路编号 字符串
    dealCount 数量 Long
    appealType 诉求类型数据字典项 字符串
    appealTypeName 诉求类型 字符串

{

"msg": "操作成功",
"code": 200,
"data": [
    {
        "searchValue": null,
        "createBy": null,
        "createByUser": null,
        "createByNickName": null,
        "deptIdOfCreateBy": null,
        "deptNameOfCreateBy": null,
        "deptAncestorOfCreateBy": null,
        "deptAncestorsNamesOfCreateBy": null,
        "createTime": null,
        "updateBy": null,
        "updateTime": null,
        "remark": null,
        "ccedList": null,
        "sysAttachmentList": null,
        "params": {},
        "id": null,
        "delFlag": null,
        "workorderId": null,
        "dealDept": null,
        "dealDeptId": null,
        "dealDeptType": null,
        "dealDeptTypeList": null,
        "dealType": null,
        "dealTime": null,
        "dealContent": null,
        "flowId": null,
        "flowIdList": null,
        "assistingRelationId": null,
        "dutyFlag": null,
        "answerFlag": null,
        "evaluateFlag": null,
        "concernLineReamrk": null,
        "extLineCodes": "453",
        "extLineNames": "701",
        "dutyDeptIds": null,
        "dutyDeptNames": null,
        "beforeDistributeFlowId": null,
        "attachmentIds": null,
        "handleFlag": null,
        "workorderIds": "1000,1486",
        "dealCount": 2,
        "appealType": "1",
        "appealTypeName": "意见建议"
    },
    ......
]

}

外勤检查模块

(1)检查任务总览(yes)--(李)

image-20241121170511141

请求参数:开始日期,结束日期

结果:任务总数,未发布任务数,有检查单的任务数, 没有检查单的任务数,已关闭任务数,进行中的(已发布,未关闭)任务数

  • 接口地址:/interface4ext/supervision/inspectionStatement/getInspectionTaskAll

  • 请求方式:POST

  • 请求参数:

| 参数名 | 含义 | 类型 | 是否必填 | 备注 | | ------- | -------- | ------ | -------- | ---- | | staTime | 开始时间 | String | 否 | | | endTime | 结束时间 | String | 否 | |

  • 返回结果:

| 中文名 | 字段名 | 类型 | 备注 | | ------------- | ------ | ------ | ------------------- | | 状态码 | code | int | 200:成功,其他:错误 | | 成功/错误消息 | msg | string | | | 结果集 | data | 对象 | |

  {
  	"msg": "操作成功",
  	"code": 200,
  	"data": {
  		"totalTasks": 5,
  		"taskWithRecords": 4,
  		"taskWithoutRecords": 1,
  		"taskClose": 1,
  		"taskUnpublished": 0
  	}
  }
  public class InspectionTaskAll {
      /** 总任务数 **/
      private Integer totalTasks;
      /** 有检查单任务数 **/
      private Integer taskWithRecords;
      /** 没有检查单任务数 **/
      private Integer taskWithoutRecords;
      /** 已关闭任务数 **/
      private Integer taskClose;
      /** 未发布任务数 **/
      private Integer taskUnpublished;
  }
  

(2)检查单总览(yes)--(李)

image-20241121170521068

请求参数:开始日期,结束日期

结果:检查单位总数,已结束的检查单总数,有不合格的检查单数,整改中的检查单数量,已整改的检查单数量,已结束的检查单数量

  • 接口地址:/interface4ext/supervision/inspectionStatement/getInspectionTaskRecordAll

  • 请求方式:POST

  • 请求参数:

| 参数名 | 含义 | 类型 | 是否必填 | 备注 | | ------- | -------- | ------ | -------- | ---- | | staTime | 开始时间 | String | 否 | | | endTime | 结束时间 | String | 否 | |

  • 返回结果:

| 中文名 | 字段名 | 类型 | 备注 | | ------------- | ------ | ------ | ------------------- | | 状态码 | code | int | 200:成功,其他:错误 | | 成功/错误消息 | msg | string | | | 结果集 | data | 对象 | |

  {
  	"msg": "操作成功",
  	"code": 200,
  	"data": {
  		"totalTaskRecord": 13,
  		"taskRecordSubstandard": 13,
  		"taskRecordRectification": 2,
  		"taskRecordRectified": 2,
  		"taskRecordClose": 7
  	}
  }
  public class InspectionTaskRecordAll {
      /** 检查单总数 **/
      private Integer totalTaskRecord;
          /** 不合格检查单 **/
      private Integer taskRecordSubstandard;
          /** 整改中检查单 **/
      private Integer taskRecordRectification;
          /** 已整改检查单 **/
      private Integer taskRecordRectified;
          /** 已关闭检查单 **/
      private Integer taskRecordClose;
  
  }
  

(3)各整改单位、一段时间内、主办和协办整改的数量排名(正序、倒序) (yes)--(纪)

image-20241121170730172

  • 接口地址: /interface4ext/supervision/inspectionStatement/getProblemDeptDealRank
  • 请求方式: GET
  • 请求参数:

    
    startDate string 开始日期 yyyy-MM-dd
    endDate  string  结束日期 yyyy-MM-dd
    isTop int 1:倒序(根据总数据量排名,取多的),0:升序(根据总数据量排名,取少的)
    size int 取多少,默认 20
    
  • 请求示例 axios

    var axios = require('axios');
    
    var config = {
    method: 'get',
    url: 'http://192.168.2.16:8182/interface4ext/supervision/inspectionStatement/getProblemDeptDealRank?startDate=2024-01-01&endDate=2024-12-31&isTop=1&size=10',
    headers: { 
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', 
      'Accept': '*/*', 
      'Host': '192.168.2.16:8182', 
      'Connection': 'keep-alive'
    }
    };
    
    axios(config)
    .then(function (response) {
    console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
    console.log(error);
    });
    
    
  • 返回结果:

    package com.legend.supervision.domain.vo;
    import lombok.Data;
    import java.util.Date;
    /**
    * 外勤检查,问题整改部门排名vo
    * @author jixoahua
    * @createTime 2024-11-27
    */
    @Data
    public class ProblemDeptRankVo {
    /**
     * 整改部门name
     */
    private String deptName;
    /**
     * 整改部门id
     */
    private Long deptId;
    /**
     * 主办 整改的检查单数量
     */
    private Integer mainDealSize = 0;
    /**
     * 协办 整改的检查单数量
     */
    private Integer assistDealSize = 0;
    /**
     * 所有的数量 (主办数 + 协办数)
     */
    private Integer totalDealSize = 0;
    
    /**
     * 开始日期 yyyy-MM-dd
     */
    private String startDate;
    /**
     * 结束日期 yyyy-MM-dd
     */
    private String endDate;
    }
    
  • 结果示例

    {
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "deptName": "东山公交服务质量部",
            "deptId": 230,
            "mainDealSize": 8,
            "assistDealSize": 0,
            "totalDealSize": 8,
            "startDate": "2024-01-01",
            "endDate": "2024-12-31"
        },
        {
            "deptName": "东山公交汽车八队",
            "deptId": 241,
            "mainDealSize": 0,
            "assistDealSize": 1,
            "totalDealSize": 1,
            "startDate": "2024-01-01",
            "endDate": "2024-12-31"
        }
    ]
    }
    

(4)被检查单位,一段时间内,检查任务和检查单数量汇总排名 (yes)--(纪)

设计图上:右侧,每日诉求汇总 (标题写错了)

image-20241121170821784

请求参数:开始日期,结束日期,是否倒序(1:倒序,2:升序),排序字段标识(1:检查任务数量,2:检查单数量)

  • 接口地址: /interface4ext/supervision/inspectionStatement/getCheeckedDeptTaskRecordRank
  • 请求方式: GET
  • 请求参数

     startDate  开始日期 yyyy-MM-dd
     endDate    结束日期 yyyy-MM-dd
     isTop 1:倒序(根据总数据量排名,取多的),0:升序(根据总数据量排名,取少的)
     size 取多少,默认 10
    
  • 结果

    //开始日期 yyyy-MM-dd
    String startDate;
    //结束日期 yyyy-MM-dd
    String endDate;
    //检查单位id
    Long checkedDeptId;
    //检查单位名称
    String checkedDeptName;
    //检查任务数量
    Integer taskSize;
    //检查单数量
    Integer taskRecordSize;
    
  • 请求示例

    var axios = require('axios');
    
    var config = {
    method: 'get',
    url: 'http://192.168.2.16:8182/interface4ext/supervision/inspectionStatement/getCheeckedDeptTaskRecordRank?startDate=2024-01-01&endDate=2024-12-31&isTop=1&size=10',
    headers: { 
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', 
      'Accept': '*/*', 
      'Host': '192.168.2.16:8182', 
      'Connection': 'keep-alive'
    }
    };
    
    axios(config)
    .then(function (response) {
    console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
    console.log(error);
    });
    
    

返回结果

{
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "startDate": "2024-01-01",
            "endDate": "2024-12-31",
            "checkedDeptId": 100,
            "checkedDeptName": "江宁公交集团",
            "taskSize": 3,
            "taskRecordSize": 3,
            "totalSize": 6
        },
        {
            "startDate": "2024-01-01",
            "endDate": "2024-12-31",
            "checkedDeptId": 102,
            "checkedDeptName": "东山公交客运有限公司",
            "taskSize": 1,
            "taskRecordSize": 4,
            "totalSize": 5
        }
    ]
}

(5)被检查单位,一段时间内,合格率排名(yes)--(厉)

image-20241121171016304

请求参数:开始日期,结束日期,是否倒序(1:倒序,2:升序)

结果:

  • 接口地址:/interface4ext/supervision/inspectionStatement/getInspectionDeptQualifiedRate

  • 请求方式:POST

  • 请求参数:

参数名 含义 类型 是否必填 备注
startDate 开始日期 String 时间格式为yyyy-MM-dd
endDate 结束日期 String 时间格式为yyyy-MM-dd
  • 返回结果:
中文名 字段名 类型 备注
状态码 code int 200:成功,其他:错误
成功/错误消息 msg string

deptName:部门名称,qualifiedRate:合格率

  {
      "msg": "操作成功",
      "code": 200,
      "data": [
          {
              "deptName": "dddd",
              "qualifiedRate": 1.0000
          },
          {
              "deptName": "测试",
              "qualifiedRate": 0.6667
          },
          {
              "deptName": "公交集团",
              "qualifiedRate": 0.0000
          },
          {
              "deptName": "江宁公交集团",
              "qualifiedRate": 0.0000
          },
          {
              "deptName": "东山公交五队",
              "qualifiedRate": 0.0000
          },
          {
              "deptName": "东山公交",
              "qualifiedRate": 0.0000
          },
          {
              "deptName": "佘山水库-公交场站-111",
              "qualifiedRate": 0.0000
          }
      ]
  }

(6)各类型检查任务数量和占比(yes)--(段)

image-20241121171057240

  • 接口地址:/interface4ext/supervision/inspectionStatement/getInspectionTaskCount

  • 请求方式:POST

  • 请求参数: 无

  • 返回结果:

    中文名 字段名 类型 备注
    状态码 code int 200:成功,其他:错误
    成功/错误消息 msg string
    结果集 data 对象
  • rows 结果集

    字段名 含义 类型 备注
    taskCount 各类型任务数量 Long
    taskFlagName 计划类型名称 字符串

{

"msg": "操作成功",
"code": 200,
"data": [
    {
        "searchValue": null,
        "createBy": null,
        "createByUser": null,
        "createByNickName": null,
        "deptIdOfCreateBy": null,
        "deptNameOfCreateBy": null,
        "deptAncestorOfCreateBy": null,
        "deptAncestorsNamesOfCreateBy": null,
        "createTime": null,
        "updateBy": null,
        "updateTime": null,
        "remark": null,
        "ccedList": null,
        "sysAttachmentList": null,
        "params": {},
        "id": null,
        "delFlag": null,
        "taskTitle": null,
        "taskContent": null,
        "taskStartTime": null,
        "taskEndTime": null,
        "taskFlag": "0",
        "publishFlag": null,
        "taskUserId": null,
        "taskUserName": null,
        "extDeptIds": null,
        "extDeptNames": null,
        "attachmentIds": null,
        "taskCount": 5,
        "taskId": "1001,1003,1004",
        "taskFlagName": "周计划"
    },
    ......
]

}

(7)外勤检查人员,一段时间内,在岗、不在岗数量统计(yes)--(纪)

image-20241121171115762

是否在岗,不好做,很难做

改成其他的图形(比如:xxx),统计每日,外勤检查人员总数,和有检查单的人数。

image-20241202103737757

注意: 结果集里面,日期不要求连续,就统计检查单表里面的创建日期。

  • 接口地址: /interface4ext/supervision/inspectionStatement/getCheckingUserSize
  • 请求方式: GET
  • 请求参数:

     startDate  开始日期 yyyy-MM-dd
     endDate    结束日期 yyyy-MM-dd
    
  • 请求示例

    var axios = require('axios');
    
    var config = {
    method: 'get',
    url: 'http://192.168.2.16:8182/interface4ext/supervision/inspectionStatement/getCheckingUserSize?startDate=2024-01-01&endDate=2024-12-31',
    headers: { 
      'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', 
      'Accept': '*/*', 
      'Host': '192.168.2.16:8182', 
      'Connection': 'keep-alive'
    }
    };
    
    axios(config)
    .then(function (response) {
    console.log(JSON.stringify(response.data));
    })
    .catch(function (error) {
    console.log(error);
    });
    
    
  • 结果:

    /**
    * 外勤检查人员 vo 对象
    */
    @Data
    public class CheckUserSizeVo {
    /**
     * 检查日期 yyyy-MM-dd
     */
    private String workDateStr;
    private Date workDate;
    /**
     * 当天检查人员用户数
     */
    private Integer workUserSize;
    /**
     * 外勤检查人员总数
     */
    private Integer totalSize;
    
    /**
     * 开始日期 yyyy-MM-dd
     */
    private String startDate;
    /**
     * 结束日期 yyyy-MM-dd
     */
    private String endDate;
    }
    
    {
    "msg": "操作成功",
    "code": 200,
    "data": [
        {
            "startDate": "2024-01-01",
            "endDate": "2024-12-31",
            "workDateStr": "2024-10-16",
            "workDate": "2024-10-16T00:00:00.000+08:00",
            "workUserSize": 1,
            "totalSize": 7
        },
        {
            "startDate": "2024-01-01",
            "endDate": "2024-12-31",
            "workDateStr": "2024-10-28",
            "workDate": "2024-10-28T00:00:00.000+08:00",
            "workUserSize": 1,
            "totalSize": 7
        },
        {
            "startDate": "2024-01-01",
            "endDate": "2024-12-31",
            "workDateStr": "2024-10-29",
            "workDate": "2024-10-29T00:00:00.000+08:00",
            "workUserSize": 2,
            "totalSize": 8
        }
    ]
    }