diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KanBanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KanBanController.java new file mode 100644 index 0000000..5882f3e --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KanBanController.java @@ -0,0 +1,56 @@ +package com.dsic.gj_erp.controller.kban; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.service.KbanService; +import com.dsic.gj_erp.service.jhgk.DmXbjhService; +import lombok.RequiredArgsConstructor; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.HashMap; +import java.util.concurrent.atomic.AtomicInteger; + +@Controller +@RequestMapping("kban") +@RequiredArgsConstructor +public class KanBanController { + + private final KbanService kbanService; + private final DmXbjhService xbjhService; + private final RedisTemplate redisTemplate; + + private String key="YdjhKban::"; + /** + * 年度切割完成重量 + */ + @RequestMapping("/ndwcl") + public Object getndWcl() { + String lastUpdateDate= (String) redisTemplate.opsForValue().get(key+"mbdcUpateTime"); + DateTime date = DateUtil.date(); + String today=date.toString("yyyyMMdd"); + if (today.equals(lastUpdateDate)){ + return "redirect:/YdjhKban/getMbdc"; + } + String from = DateUtil.beginOfYear(date).toString("yyyy/MM/dd"); + String to = DateUtil.offsetDay(date,1).toString("yyyy/MM/dd"); + AtomicInteger maxVersion = xbjhService.getMaxVersion(); + String nf=DateUtil.thisYear()+""; + //本年度线表总重量 + BigDecimal xbzl = xbjhService.getZlByNfAndVersion(nf, maxVersion.toString()); + //作业计划完成重量 + BigDecimal wgzl = kbanService.getWgzlByTime(from, to); + BigDecimal jhwc = wgzl.divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP) + .divide(xbzl, 1, RoundingMode.HALF_UP) + .multiply(new BigDecimal("100")); + return new ResultBean<>(new HashMap(){{ + put("jhwc",jhwc); + put("ndgc",wgzl.divide(new BigDecimal("10000000"),2,RoundingMode.HALF_UP)); + }}); + } +} diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java index f82fb88..faca600 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/KbanController.java @@ -21,11 +21,14 @@ import com.dsic.gj_erp.service.zyjh.ZyjhService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.io.File; import java.math.BigDecimal; import java.math.RoundingMode; +import java.net.URI; +import java.net.URISyntaxException; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -50,8 +53,6 @@ public class KbanController { private final KbanService kbanService; private final SyMsgService msgService; private final DmSygdMxService service; - private final DmXbjhService xbjhService; - private final RedisTemplate redisTemplate; @Value("${pdfUri}") private String pdfUri; @@ -388,35 +389,6 @@ public class KbanController { return new ResultBean<>(list); } - private String key="YdjhKban::"; - /** - * 年度切割完成重量 - */ - @GetMapping("/ndwcl") - public Object getndWcl(){ - String lastUpdateDate= (String) redisTemplate.opsForValue().get(key+"mbdcUpateTime"); - DateTime date = DateUtil.date(); - String today=date.toString("yyyyMMdd"); - if (today.equals(lastUpdateDate)){ - return "redirect:YdjhKban/getMbdc"; - } - String from = DateUtil.beginOfYear(date).toString("yyyy/MM/dd"); - String to = DateUtil.offsetDay(date,1).toString("yyyy/MM/dd"); - AtomicInteger maxVersion = xbjhService.getMaxVersion(); - String nf=DateUtil.thisYear()+""; - //本年度线表总重量 - BigDecimal xbzl = xbjhService.getZlByNfAndVersion(nf, maxVersion.toString()); - //作业计划完成重量 - BigDecimal wgzl = kbanService.getWgzlByTime(from, to); - BigDecimal jhwc = wgzl.divide(new BigDecimal("1000"), 4, RoundingMode.HALF_UP) - .divide(xbzl, 1, RoundingMode.HALF_UP) - .multiply(new BigDecimal("100")); - return new ResultBean<>(new HashMap(){{ - put("jhwc",jhwc); - put("ndgc",wgzl.divide(new BigDecimal("10000000"),2,RoundingMode.HALF_UP)); - }}); - } - /** * 消息 */