From be9e85fd37fee2b2c358f8a472d475cf29fb8352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Sat, 10 May 2025 10:40:55 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E7=9C=8B=E6=9D=BF=E9=92=A2?= =?UTF-8?q?=E5=8A=A0=E5=85=AC=E5=8F=B8=E7=9B=AE=E6=A0=87=E8=BE=BE=E6=88=90?= =?UTF-8?q?=E6=83=85=E5=86=B5=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E6=96=B9?= =?UTF-8?q?=E5=BC=8F,=E5=A6=82=E6=9E=9C=E5=BD=93=E6=97=A5=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E5=A1=AB=E7=BC=96=E5=88=B6=E4=BA=86=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BB=A5=E7=BC=96=E5=88=B6=E6=95=B0=E6=8D=AE=E4=B8=BA=E5=87=86?= =?UTF-8?q?,=E5=90=A6=E5=88=99=E4=BB=A5=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E6=95=B0=E6=8D=AE=E4=B8=BA=E5=87=86=202.?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=9C=8B=E6=9D=BF=E9=9B=86=E6=88=90=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/kban/KbanController.java | 26 +++++++++++++++---- .../controller/kban/YdjhKbanController.java | 1 + .../com/dsic/gj_erp/mapper/KbanMapper.java | 2 ++ .../com/dsic/gj_erp/service/KbanService.java | 2 +- .../resources/mappers/kban/KbanMapper.xml | 4 +++ 5 files changed, 29 insertions(+), 6 deletions(-) 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 84cbbaf..f82fb88 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 @@ -20,10 +20,12 @@ import com.dsic.gj_erp.service.sy.impl.SyMsgService; 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.web.bind.annotation.*; import java.io.File; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -49,6 +51,7 @@ public class KbanController { private final SyMsgService msgService; private final DmSygdMxService service; private final DmXbjhService xbjhService; + private final RedisTemplate redisTemplate; @Value("${pdfUri}") private String pdfUri; @@ -385,20 +388,33 @@ public class KbanController { return new ResultBean<>(list); } + private String key="YdjhKban::"; /** * 年度切割完成重量 */ @GetMapping("/ndwcl") - public ResultBean getndWcl(){ + 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 zlByNfAndVersion = xbjhService.getZlByNfAndVersion(nf, maxVersion.toString()); - -// zyjhService - return new ResultBean<>(); + //本年度线表总重量 + 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/YdjhKbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/YdjhKbanController.java index eb80787..c0846d6 100644 --- a/src/main/java/com/dsic/gj_erp/controller/kban/YdjhKbanController.java +++ b/src/main/java/com/dsic/gj_erp/controller/kban/YdjhKbanController.java @@ -138,6 +138,7 @@ public class YdjhKbanController { Double jhwc= map.get("jhwc"); redisTemplate.opsForValue().set(key+"ndgc", ndgc); redisTemplate.opsForValue().set(key+"jhwc", jhwc); + redisTemplate.opsForValue().set(key+"mbdcUpateTime", DateUtil.date().toString("yyyyMMdd")); return new ResultBean<>(); } diff --git a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java index 81283f4..f323ef6 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/KbanMapper.java @@ -10,6 +10,8 @@ import java.util.Map; @Mapper public interface KbanMapper { + BigDecimal 根据日期范围获取完成重量(String from,String to); + //按日或月统计作业计划完成量 List> 作业计划完成量(Map map); diff --git a/src/main/java/com/dsic/gj_erp/service/KbanService.java b/src/main/java/com/dsic/gj_erp/service/KbanService.java index b814bc5..92990bf 100644 --- a/src/main/java/com/dsic/gj_erp/service/KbanService.java +++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java @@ -30,7 +30,7 @@ public class KbanService { * 按日期计算切割完成重量 */ public BigDecimal getWgzlByTime(String from,String to){ - return null; + return kbanMapper.根据日期范围获取完成重量(from,to); } public List> 作业计划完成量(Map map){ diff --git a/src/main/resources/mappers/kban/KbanMapper.xml b/src/main/resources/mappers/kban/KbanMapper.xml index 36b8831..1db631e 100644 --- a/src/main/resources/mappers/kban/KbanMapper.xml +++ b/src/main/resources/mappers/kban/KbanMapper.xml @@ -282,4 +282,8 @@ group by dc_ch order by dc_ch + +