|
|
|
@ -1,8 +1,9 @@
|
|
|
|
|
package org.jeecg.modules.demo.virsualachrate.controller;
|
|
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
@ -11,6 +12,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
|
|
import org.jeecg.common.util.RedisUtil;
|
|
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
|
|
import org.jeecg.modules.demo.virsualachrate.entity.TtVirsualAchRate;
|
|
|
|
|
import org.jeecg.modules.demo.virsualachrate.service.ITtVirsualAchRateService;
|
|
|
|
@ -20,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
|
|
import org.jeecg.modules.demo.virsualoutput.entity.TtVirsualOutput;
|
|
|
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
|
|
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
|
|
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
|
|
@ -50,7 +53,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
|
|
public class TtVirsualAchRateController extends JeecgController<TtVirsualAchRate, ITtVirsualAchRateService> {
|
|
|
|
|
@Autowired
|
|
|
|
|
private ITtVirsualAchRateService ttVirsualAchRateService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
/**
|
|
|
|
|
* 分页列表查询
|
|
|
|
|
*
|
|
|
|
@ -73,6 +77,100 @@ public class TtVirsualAchRateController extends JeecgController<TtVirsualAchRate
|
|
|
|
|
return Result.OK(pageList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新总的看板5列表查询
|
|
|
|
|
*
|
|
|
|
|
* @param ttVirsualAchRate
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
//@AutoLog(value = "tt_virsual_ach_rate-新总的看板5列表查询")
|
|
|
|
|
@ApiOperation(value="tt_virsual_ach_rate-新总的看板5列表查询", notes="tt_virsual_ach_rate-新总的看板5列表查询")
|
|
|
|
|
@GetMapping(value = "/queryList")
|
|
|
|
|
public Result<Map<String, Object>> queryList(TtVirsualAchRate ttVirsualAchRate) throws ParseException {
|
|
|
|
|
List<TtVirsualAchRate> list1 = new ArrayList<>();
|
|
|
|
|
List<TtVirsualAchRate> list2 = new ArrayList<>();
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
Random generator = new Random();
|
|
|
|
|
StringBuilder dayKey = new StringBuilder();//redis日期的key 2023-02-13_2023-02-12_2023-02-11_2023-02-10_2023-02-09_2023-02-08_2023-02-07_1 _1代表
|
|
|
|
|
//获取当前日期前一天的日期
|
|
|
|
|
LocalDate localDate = LocalDate.now().minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()) + "_");
|
|
|
|
|
localDate = localDate.minusDays(1);
|
|
|
|
|
dayKey.append(sdf.parse(localDate.toString()));
|
|
|
|
|
String dayKey1 = dayKey.toString() + "_5";
|
|
|
|
|
String dayKey2 = dayKey.toString() + "_6";
|
|
|
|
|
Object object1 = redisUtil.get(dayKey1);
|
|
|
|
|
Object object2 = redisUtil.get(dayKey2);
|
|
|
|
|
if (object1 != null) {
|
|
|
|
|
String outputQtys1 = String.valueOf(object1);
|
|
|
|
|
String outputQtys2 = String.valueOf(object2);
|
|
|
|
|
String[] outputQtyArr1 = outputQtys1.split("_");
|
|
|
|
|
String[] outputQtyArr2 = outputQtys2.split("_");
|
|
|
|
|
String[] dayKeyArr = dayKey.toString().split("_");
|
|
|
|
|
for(int i=0;i<outputQtyArr1.length;i++){
|
|
|
|
|
TtVirsualAchRate virsualAchRate = new TtVirsualAchRate();
|
|
|
|
|
virsualAchRate.setCompanyId(1);
|
|
|
|
|
virsualAchRate.setDayName(sdf.parse(dayKeyArr[i]));
|
|
|
|
|
virsualAchRate.setAchRate(Integer.parseInt(outputQtyArr1[i]));
|
|
|
|
|
virsualAchRate.setTypeId(1);//底座
|
|
|
|
|
virsualAchRate.setPsName("底座");
|
|
|
|
|
list1.add(virsualAchRate);
|
|
|
|
|
}
|
|
|
|
|
for(int i=0;i<outputQtyArr2.length;i++){
|
|
|
|
|
TtVirsualAchRate virsualAchRate = new TtVirsualAchRate();
|
|
|
|
|
virsualAchRate.setCompanyId(1);
|
|
|
|
|
virsualAchRate.setDayName(sdf.parse(dayKeyArr[i]));
|
|
|
|
|
virsualAchRate.setAchRate(Integer.parseInt(outputQtyArr2[i]));
|
|
|
|
|
virsualAchRate.setTypeId(2);//底座
|
|
|
|
|
virsualAchRate.setPsName("胶塞");
|
|
|
|
|
list2.add(virsualAchRate);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
int randomIndex5 = 80;//随机数0到59 45
|
|
|
|
|
String[] dayKeyArr = dayKey.toString().split("_");
|
|
|
|
|
String outputQtys1 = "";
|
|
|
|
|
String outputQtys2 = "";
|
|
|
|
|
for(int i=0;i<7;i++){
|
|
|
|
|
TtVirsualAchRate virsualAchRate = new TtVirsualAchRate();
|
|
|
|
|
virsualAchRate.setCompanyId(1);
|
|
|
|
|
virsualAchRate.setDayName(sdf.parse(dayKeyArr[i]));
|
|
|
|
|
randomIndex5 = generator.nextInt( 21 ) + 80;//随机数80到100 85
|
|
|
|
|
virsualAchRate.setAchRate(randomIndex5);
|
|
|
|
|
virsualAchRate.setTypeId(1);//底座
|
|
|
|
|
virsualAchRate.setPsName("底座");
|
|
|
|
|
list1.add(virsualAchRate);
|
|
|
|
|
outputQtys1 = outputQtys1 + virsualAchRate.getAchRate() + "_";
|
|
|
|
|
}
|
|
|
|
|
for(int i=0;i<7;i++){
|
|
|
|
|
TtVirsualAchRate virsualAchRate = new TtVirsualAchRate();
|
|
|
|
|
virsualAchRate.setCompanyId(1);
|
|
|
|
|
virsualAchRate.setDayName(sdf.parse(dayKeyArr[i]));
|
|
|
|
|
randomIndex5 = generator.nextInt( 21 ) + 80;//随机数80到100 85
|
|
|
|
|
virsualAchRate.setAchRate(randomIndex5);
|
|
|
|
|
virsualAchRate.setTypeId(2);//底座
|
|
|
|
|
virsualAchRate.setPsName("胶塞");
|
|
|
|
|
list2.add(virsualAchRate);
|
|
|
|
|
outputQtys2 = outputQtys2 + virsualAchRate.getAchRate() + "_";
|
|
|
|
|
}
|
|
|
|
|
redisUtil.set(dayKey1, outputQtys1.substring(0, outputQtys1.length() - 1));
|
|
|
|
|
redisUtil.set(dayKey2, outputQtys2.substring(0, outputQtys2.length() - 1));
|
|
|
|
|
}
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
map.put("dizuo", list1);
|
|
|
|
|
map.put("jiaosai", list2);
|
|
|
|
|
return Result.OK(map);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 添加
|
|
|
|
|
*
|
|
|
|
|