|
@@ -2,19 +2,24 @@ package com.huimv.guowei.admin.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.extension.api.R;
|
|
import com.baomidou.mybatisplus.extension.api.R;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
import com.huimv.guowei.admin.common.utils.ResultCode;
|
|
import com.huimv.guowei.admin.common.utils.ResultCode;
|
|
|
|
+import com.huimv.guowei.admin.entity.Farm;
|
|
import com.huimv.guowei.admin.entity.RawData;
|
|
import com.huimv.guowei.admin.entity.RawData;
|
|
import com.huimv.guowei.admin.mapper.RawDataMapper;
|
|
import com.huimv.guowei.admin.mapper.RawDataMapper;
|
|
import com.huimv.guowei.admin.service.IRawDataService;
|
|
import com.huimv.guowei.admin.service.IRawDataService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.apache.poi.util.StringUtil;
|
|
import org.apache.poi.util.StringUtil;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -26,24 +31,56 @@ import java.util.Map;
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
public class RawDataServiceImpl extends ServiceImpl<RawDataMapper, RawData> implements IRawDataService {
|
|
public class RawDataServiceImpl extends ServiceImpl<RawDataMapper, RawData> implements IRawDataService {
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public Result listInfo(Map<String, String> paramsMap) {
|
|
public Result listInfo(Map<String, String> paramsMap) {
|
|
String deviceCode = paramsMap.get("deviceCode");
|
|
String deviceCode = paramsMap.get("deviceCode");
|
|
String startDate = paramsMap.get("startDate");
|
|
String startDate = paramsMap.get("startDate");
|
|
String endDate = paramsMap.get("endDate");
|
|
String endDate = paramsMap.get("endDate");
|
|
|
|
+ String pageNum = paramsMap.get("pageNum");
|
|
|
|
+ String pageSize = paramsMap.get("pageSize");
|
|
|
|
+
|
|
QueryWrapper<RawData> wrapper = new QueryWrapper<>();
|
|
QueryWrapper<RawData> wrapper = new QueryWrapper<>();
|
|
- if (StringUtils.isBlank(deviceCode)){
|
|
|
|
- return new Result(10001,"称编码不能为空",false);
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(deviceCode)){
|
|
|
|
+ wrapper.eq("device_code",deviceCode);
|
|
}
|
|
}
|
|
- wrapper.eq("device_code",deviceCode);
|
|
|
|
- if (StringUtils.isBlank(startDate)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(startDate)){
|
|
wrapper.ge("create_time", DateUtil.beginOfDay(new Date()));
|
|
wrapper.ge("create_time", DateUtil.beginOfDay(new Date()));
|
|
- }else {
|
|
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){
|
|
wrapper.between("create_time", startDate,endDate);
|
|
wrapper.between("create_time", startDate,endDate);
|
|
}
|
|
}
|
|
wrapper.orderByDesc("id");
|
|
wrapper.orderByDesc("id");
|
|
- return new Result(ResultCode.SUCCESS, this.list(wrapper));
|
|
|
|
|
|
+ Page<RawData> page = this.page(new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize)), wrapper);
|
|
|
|
+ return new Result(ResultCode.SUCCESS, page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Result listWeight(Map<String, String> paramsMap) {
|
|
|
|
+ String id = paramsMap.get("id");
|
|
|
|
+ String time = paramsMap.get("time");
|
|
|
|
+ Integer value = Integer.valueOf(time);
|
|
|
|
+
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ RawData rawData = new RawData();
|
|
|
|
+ if (StringUtils.isNotBlank(id)){
|
|
|
|
+ rawData = this.getById(id);
|
|
|
|
+ }
|
|
|
|
+ Date endTime = rawData.getCreateTime();
|
|
|
|
+ String data = rawData.getData();
|
|
|
|
+ String[] s = data.split(" ");
|
|
|
|
+
|
|
|
|
+ List list = new ArrayList();
|
|
|
|
+ long timestamp = endTime.getTime() / 1000;
|
|
|
|
+ for (int i = 0; i < 60; i++) {
|
|
|
|
+ long l = timestamp - ((60 - i) * value); // 修正此行
|
|
|
|
+ Date thenTime = new Date(l * 1000); // 将秒转换为毫秒
|
|
|
|
+ String str1 = s[i * 2 + 11] + s[i * 2 + 10];
|
|
|
|
+ BigDecimal weight = new BigDecimal(Integer.parseInt(str1, 16));
|
|
|
|
+ Map weightMap = new HashMap();
|
|
|
|
+ weightMap.put("time", sdf.format(thenTime));
|
|
|
|
+ weightMap.put("weight",weight);
|
|
|
|
+ list.add(weightMap);
|
|
|
|
+ }
|
|
|
|
+ return new Result(ResultCode.SUCCESS,list);
|
|
}
|
|
}
|
|
}
|
|
}
|