Commit d90b342f authored by 竹天卫's avatar 竹天卫

统计 设备

parent e5267295
package cn.wise.sc.acquisition.business.controller;
import cn.wise.im.common.http.R;
import cn.wise.sc.acquisition.business.service.IDataStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2021-04-26
*/
@Api(tags = "数据统计")
@RestController
@RequestMapping("/business/t-processes-truck")
@Validated
public class DataStatisticsController {
@Autowired
private IDataStatisticsService dataStatisticsService;
@ApiOperation(value = "统计概览-检测项数量统计")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "type", value = "类型1:按时间 2:按地区", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "cycle", value = "统计周期1:本周 2:本月 3:本年", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "startDate", value = "开始日期", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "结束日期", paramType = "query", dataType = "String")
})
@GetMapping("/countByPhoto")
public R countByPhoto(String TruckID, Integer cycle, String startDate, String endDate) {
return dataStatisticsService.countByPhoto(TruckID, cycle, startDate, endDate);
}
}
......@@ -10,11 +10,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* <p>
......@@ -44,7 +40,7 @@ public class TEquipmentAccountController {
@ApiOperation(value = "新增设备")
@PostMapping("/create")
public R create(TEquipmentAccountQuery query) {
public R create(@RequestBody TEquipmentAccountQuery query) {
return equipmentAccountService.create(query);
}
......
package cn.wise.sc.acquisition.business.mapper;
import cn.wise.sc.acquisition.business.model.vo.DataStatisticsVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-08-07
*/
public interface DataStatisticsMapper {
List<DataStatisticsVo> countByPhoto(@Param("params") Map<String, Object> params);
}
<?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="cn.wise.sc.acquisition.business.mapper.DataStatisticsMapper">
<select id="countByPhoto" resultType="cn.wise.sc.acquisition.business.model.vo.DataStatisticsVo">
SELECT DATE_FORMAT(sd.create_time,'%Y-%m-%d') as name, count(sd.id) as value
FROM sample_distribution sd
where sd.finish_time is not null
<if test="params.cycle == 1 ">
and YEARWEEK(date_format(sd.create_time,'%Y-%m-%d' ) ) = YEARWEEK(now())
</if>
<if test="params.cycle == 2 ">
and DATE_FORMAT( sd.create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m')
</if>
<if test="params.cycle = 3 ">
and YEAR(sd.create_time) = YEAR( NOW( ) )
</if>
<if test="params.startDate != null and params.startDate != ''">
and DATE(sd.create_time) &gt;= #{params.startDate}
</if>
<if test="params.endDate != null and params.endDate != ''">
and DATE(sd.create_time) &lt;= #{params.endDate}
</if>
<if test="params.startDate == null and params.endDate == null">
and date(sd.create_time) > date_sub(curdate(),interval 30 day)
</if>
group by name
</select>
</mapper>
package cn.wise.sc.acquisition.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-25
*/
@Data
@ApiModel("设备点检Query")
public class TEquipmentCheckQuery {
/**
* ID号
*/
@ApiModelProperty("Uid")
private String uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String equipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String equipmentName;
/**
* 点检部位
*/
@ApiModelProperty("点检部位")
private String djbw;
/**
* 点检内容
*/
@ApiModelProperty("点检内容")
private String djnr;
/**
* 点检标准
*/
@ApiModelProperty("点检标准")
private String djbz;
/**
* 点检周期
*/
@ApiModelProperty("点检周期")
private Integer djzq;
/**
* 周期类型,天、月等
*/
@ApiModelProperty("周期类型,天、月等")
private String zqlx;
/**
* 点检结果,正常、异常
*/
@ApiModelProperty("点检结果,正常、异常")
private String djjg;
/**
* 异常记录
*/
@ApiModelProperty("异常记录")
private String ycjl;
/**
* 点检人
*/
@ApiModelProperty("点检人")
private String djr;
/**
* 点检日期
*/
@ApiModelProperty("点检日期")
private LocalDateTime djrq;
}
package cn.wise.sc.acquisition.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-25
*/
@Data
@ApiModel("设备运行Query")
public class TEquipmentRunQuery {
/**
* ID号
*/
@ApiModelProperty("Uid")
private String uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String equipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String equipmentName;
/**
* 运行日期
*/
@ApiModelProperty("运行日期")
private LocalDateTime runDate;
/**
*
*/
@ApiModelProperty("当天运行时间h")
private Float runHour;
/**
* 当天停机时间
*/
@ApiModelProperty("StopHour")
private Float stopHour;
/**
* 停机原因:故障/维修/保养
*/
@ApiModelProperty("StopType")
private String stopType;
/**
* 驾驶员/操作人员
*/
@ApiModelProperty("Driver")
private String driver;
/**
* 填写人
*/
@ApiModelProperty("Txr")
private String txr;
/**
* 日期标记,如:2021年01月
*/
@ApiModelProperty("Tag")
private String tag;
}
package cn.wise.sc.acquisition.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-25
*/
@Data
@ApiModel("设备隐患Query")
public class TEquipmentTroubleQuery {
/**
* ID号
*/
@ApiModelProperty("Uid")
private String uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String equipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String equipmentName;
/**
* 隐患发现人
*/
@ApiModelProperty("隐患发现人")
private String fxr;
/**
* 隐患发现日期
*/
@ApiModelProperty("隐患发现日期")
private LocalDateTime fxrq;
/**
* 隐患描述
*/
@ApiModelProperty("隐患描述")
private String yhms;
/**
* 隐患处理措施
*/
@ApiModelProperty("隐患处理措施")
private String clcs;
/**
* 隐患处理日期
*/
@ApiModelProperty("隐患处理日期")
private LocalDateTime clrq;
/**
* 是否已修好:1是,0否
*/
@ApiModelProperty("是否已修好:1是,0否")
private String clr;
/**
* 填报人
*/
@ApiModelProperty("填报人")
private String txr;
/**
* 填报日期
*/
@ApiModelProperty("填报日期")
private LocalDateTime txrq;
/**
* 隐患处理状态:已处理和未处理
*/
@ApiModelProperty("隐患处理状态:已处理和未处理")
private String clzt;
}
package cn.wise.sc.acquisition.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: ztw
* @create: 2021-04-26
**/
@Data
@ApiModel("数据统计-展示类")
public class DataStatisticsVo {
@ApiModelProperty("id标识")
private Integer id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("值")
private String value;
}
package cn.wise.sc.acquisition.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @description:
* @author: ztw
* @create: 2021-04-25
**/
@Data
@ApiModel("设备点检Vo")
public class TEquipmentCheckVo {
@ApiModelProperty("Uid")
private String Uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String EquipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String EquipmentName;
/**
* 点检部位
*/
@ApiModelProperty("点检部位")
private String Djbw;
/**
*
*/
@ApiModelProperty("点检内容")
private String Djnr;
/**
* 点检标准
*/
@ApiModelProperty("点检标准")
private String Djbz;
/**
* 点检周期
*/
@ApiModelProperty("点检周期")
private Integer Djzq;
/**
* 周期类型,天、月等
*/
@ApiModelProperty("周期类型,天、月等")
private String Zqlx;
/**
* 点检结果,正常、异常
*/
@ApiModelProperty("点检结果,正常、异常")
private String Djjg;
/**
* 异常记录
*/
@ApiModelProperty("异常记录")
private String Ycjl;
/**
* 点检人
*/
@ApiModelProperty("点检人")
private String Djr;
/**
* 点检日期
*/
@ApiModelProperty("点检日期")
private LocalDateTime Djrq;
}
package cn.wise.sc.acquisition.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @description:
* @author: ztw
* @create: 2021-04-25
**/
@Data
@ApiModel("设备运行Vo")
public class TEquipmentRunVo {
@ApiModelProperty("Uid")
private String Uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String EquipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String EquipmentName;
/**
* 运行日期
*/
@ApiModelProperty("运行日期")
private LocalDateTime RunDate;
/**
*
*/
@ApiModelProperty("当天运行时间h")
private Float RunHour;
/**
* 当天停机时间
*/
@ApiModelProperty("StopHour")
private Float StopHour;
/**
* 停机原因:故障/维修/保养
*/
@ApiModelProperty("StopType")
private String StopType;
/**
* 驾驶员/操作人员
*/
@ApiModelProperty("Driver")
private String Driver;
/**
* 填写人
*/
@ApiModelProperty("Txr")
private String Txr;
/**
* 日期标记,如:2021年01月
*/
@ApiModelProperty("Tag")
private String Tag;
}
package cn.wise.sc.acquisition.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @description:
* @author: ztw
* @create: 2021-04-25
**/
@Data
@ApiModel("设备隐患Vo")
public class TEquipmentTroubleVo {
@ApiModelProperty("Uid")
private String Uid;
/**
* 设备编码
*/
@ApiModelProperty("设备编码")
private String EquipmentID;
/**
* 设备名称
*/
@ApiModelProperty("设备名称")
private String EquipmentName;
/**
* 隐患发现人
*/
@ApiModelProperty("隐患发现人")
private String Fxr;
/**
* 隐患发现日期
*/
@ApiModelProperty("隐患发现日期")
private LocalDateTime Fxrq;
/**
* 隐患描述
*/
@ApiModelProperty("隐患描述")
private String Yhms;
/**
* 隐患处理措施
*/
@ApiModelProperty("隐患处理措施")
private String Clcs;
/**
* 隐患处理日期
*/
@ApiModelProperty("隐患处理日期")
private LocalDateTime Clrq;
/**
* 是否已修好:1是,0否
*/
@ApiModelProperty("是否已修好:1是,0否")
private String clr;
/**
* 填报人
*/
@ApiModelProperty("填报人")
private String Txr;
/**
* 填报日期
*/
@ApiModelProperty("填报日期")
private LocalDateTime Txrq;
/**
* 隐患处理状态:已处理和未处理
*/
@ApiModelProperty("隐患处理状态:已处理和未处理")
private String Clzt;
}
package cn.wise.sc.acquisition.business.service;
import cn.wise.im.common.http.R;
import cn.wise.sc.acquisition.business.model.vo.DataStatisticsVo;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2021-04-26
*/
public interface IDataStatisticsService {
R<List<DataStatisticsVo>> countByPhoto(String TruckID, Integer cycle, String startDate, String endDate);
}
package cn.wise.sc.acquisition.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.wise.im.common.http.R;
import cn.wise.sc.acquisition.business.mapper.DataStatisticsMapper;
import cn.wise.sc.acquisition.business.model.vo.DataStatisticsVo;
import cn.wise.sc.acquisition.business.service.IDataStatisticsService;
import io.jsonwebtoken.lang.Assert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2021-01-12
*/
@Service
public class DataStatisticsServiceImpl implements IDataStatisticsService {
@Resource
private DataStatisticsMapper dataStatisticsMapper;
@Override
public R<List<DataStatisticsVo>> countByPhoto(String TruckID, Integer cycle, String startDate, String endDate){
Map<String, Object> params = new HashMap<>();
params.put("TruckID", TruckID);
params.put("cycle", cycle);
params.put("startDate", startDate);
params.put("endDate", endDate);
List<DataStatisticsVo> list = dataStatisticsMapper.countByPhoto(params);
return R.ok(list);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment