看板接口

master
xiaoning 6 days ago
parent ba2585f277
commit 4894a1fb13

@ -0,0 +1,202 @@
package com.dsic.gj_erp.controller.kban;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.jhgk.dto.RjhDto;
import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper;
import com.dsic.gj_erp.service.jcsj.EmGcrlService;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-11-09
*/
@RestController
@RequestMapping("/YdjhKban")
public class YdjhKbanController {
@Autowired
private DmYdjhMapper dmYdjhMapper;
@Autowired
private RedisTemplate<String,Object> redisTemplate;
private String key="YdjhKban::";
private String[] months={"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",};
/**
*
* @return
*/
@GetMapping("/getYdjhwcl")
public ResultBean<?> getYdjhwcl(){
List<Map<String,Object>> list=new ArrayList<>();
for (String month : months) {
Map<String,Object> map=new HashMap<>();
map.put("month",month);
map.put("wcl",0.0);
list.add(map);
}
//查询月份
List<DateTime> dateTimes=DateUtil.rangeToList(DateUtil.beginOfYear(new Date())
, DateUtil.endOfMonth(new Date())
, DateField.MONTH);
for (int i = 0; i < dateTimes.size(); i++) {
String yf=dateTimes.get(i).toString("yyyy/MM");
DmYdjh ydjh= dmYdjhMapper.selectOne(new QueryWrapper<DmYdjh>().select(
"CONVERT(decimal(10,2),\n" +
"SUM(CASE WHEN substring(qgfkrq,0,8)='"+yf+"' THEN 1.0 ELSE 0.0 END) /\n" +
"SUM(CASE WHEN substring(qgjhrq,0,8)='"+yf+"' THEN 1.0 ELSE 0.0 END)) as qgcd"));
list.get(i).replace("wcl",ydjh.getQgcd());
}
return new ResultBean<>(list);
}
/**
*
* @return
*/
@GetMapping("/getByjhwcl")
public ResultBean<?> getByjhwcl(){
String yf=new DateTime().toString("yyyy/MM");
DmYdjh ydjh= dmYdjhMapper.selectOne(new QueryWrapper<DmYdjh>().select(
"CONVERT(decimal(10,2),\n" +
"SUM(CASE WHEN substring(qgfkrq,0,8)='"+yf+"' THEN 1.0 ELSE 0.0 END) /\n" +
"SUM(CASE WHEN substring(qgjhrq,0,8)='"+yf+"' THEN 1.0 ELSE 0.0 END)) as qgcd"));
Map<String,Double> map=new HashMap<>();
Double wc=ydjh.getQgcd();
map.put("wcl",wc);
map.put("wwcl",wc>=1?0.0:new BigDecimal(1-wc).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
return new ResultBean<>(map);
}
/**
*
*
*/
@GetMapping("/getNdjgtj")
public ResultBean<?> getNdjgtj(){
String year=new DateTime().toString("yyyy");
//船号: ;完成率:
//月度计划 年度计划 完成
List<DmYdjh> list= dmYdjhMapper.selectList(new QueryWrapper<DmYdjh>().select(
"dc_ch," +
"SUM(CASE WHEN substring(qgfkrq,0,5)='"+year+"' THEN 1.0 ELSE 0.0 END) as hxcd," +
"SUM(CASE WHEN substring(qgjhrq,0,5)='"+year+"' THEN 1.0 ELSE 0.0 END) as qgcd")
.like("qgfkrq",year).or().like("qgjhrq",year)
.groupBy("dc_ch"));
List<Map<String,Object>> maps=new ArrayList<>();
for (DmYdjh ydjh : list) {
Map<String,Object> map=new HashMap<>();
map.put("dc_ch",ydjh.getDcCh());
if (ydjh.getQgcd()!=0.0){
BigDecimal wcl=new BigDecimal(ydjh.getHxcd()/ydjh.getQgcd()).setScale(2,BigDecimal.ROUND_HALF_UP);
map.put("wcl",wcl);
}else {
map.put("wcl",0.0);
}
maps.add(map);
}
return new ResultBean<>(maps);
}
/**
*
*
* @param map ndgc jhwc
* @return
*/
@PostMapping ("/saveMbdc")
public ResultBean<?> saveMbdc(@RequestBody Map<String,Double> map){
//年度钢材加工
Double ndgc= map.get("ndgc");
//年度计划完成率
Double jhwc= map.get("jhwc");
redisTemplate.opsForValue().set(key+"ndgc", ndgc);
redisTemplate.opsForValue().set(key+"jhwc", jhwc);
return new ResultBean<>();
}
/**
*
*
* @return ndgc jhwc
*/
@GetMapping("/getMbdc")
public ResultBean<?> getMbdc(){
Map map=new HashMap<>();
//年度钢材加工
map.put("ndgc",redisTemplate.opsForValue().get(key+"ndgc"));
//年度计划完成lv
map.put("jhwc",redisTemplate.opsForValue().get(key+"jhwc"));
return new ResultBean<>(map);
}
/**
*
*
* @param list [{"xh":1,"ch":"g175k-3","wcl":80},{"xh":2,"ch":"g175k-5","wcl":20}]
* @return
*/
@PostMapping ("/saveSzdc")
public ResultBean<?> saveSzdc(@RequestBody List<Map<String,Object>> list){
redisTemplate.opsForValue().set(key+"szdc", list);
return new ResultBean<>();
}
/**
*
*
* @return
*/
@GetMapping("/getSzdc")
public ResultBean<?> geSzdc(){
Object list=redisTemplate.opsForValue().get(key+"szdc");
return new ResultBean<>(list);
}
/**
*
*
* @param list [{"ch":"g175k-3","wcl":80},{"ch":"g175k-5","wcl":20}]
* @return
*/
@PostMapping ("/savePsdc")
public ResultBean<?> savePsdc(@RequestBody List<Map<String,Object>> list){
redisTemplate.opsForValue().set(key+"psdc", list);
return new ResultBean<>();
}
/**
*
*
* @return
*/
@GetMapping("/getPsdc")
public ResultBean<?> gePsdc(){
Object list=redisTemplate.opsForValue().get(key+"psdc");
return new ResultBean<>(list);
}
}
Loading…
Cancel
Save