From 9e0d175477dc4c7adad24766d0ef0980e6a734f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com>
Date: Thu, 8 May 2025 16:55:04 +0800
Subject: [PATCH] =?UTF-8?q?1.=E7=94=9F=E4=BA=A7=E7=9C=8B=E6=9D=BF=E6=8E=A5?=
 =?UTF-8?q?=E5=8F=A3=E9=9B=86=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/kban/KbanController.java       | 19 +++++++
 .../controller/kban/SCKbanController.java     | 32 ++++++++++++
 .../dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java |  3 ++
 .../com/dsic/gj_erp/service/KbanService.java  |  7 +++
 .../gj_erp/service/jhgk/DmXbjhService.java    |  6 +++
 .../service/jhgk/impl/DmXbjhServiceImpl.java  | 50 ++++++++++++-------
 .../resources/mappers/jhgk/DmXbjhMapper.xml   |  3 ++
 7 files changed, 101 insertions(+), 19 deletions(-)
 create mode 100644 src/main/java/com/dsic/gj_erp/controller/kban/SCKbanController.java

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 39250d4..84cbbaf 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
@@ -15,6 +15,7 @@ import com.dsic.gj_erp.exception.ServiceException;
 import com.dsic.gj_erp.service.KbanService;
 import com.dsic.gj_erp.service.jcsj.DmBzryService;
 import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
+import com.dsic.gj_erp.service.jhgk.DmXbjhService;
 import com.dsic.gj_erp.service.sy.impl.SyMsgService;
 import com.dsic.gj_erp.service.zyjh.ZyjhService;
 import lombok.RequiredArgsConstructor;
@@ -22,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -46,6 +48,7 @@ public class KbanController {
     private final KbanService kbanService;
     private final SyMsgService msgService;
     private final DmSygdMxService service;
+    private final DmXbjhService xbjhService;
 
     @Value("${pdfUri}")
     private String pdfUri;
@@ -382,6 +385,22 @@ public class KbanController {
         return new ResultBean<>(list);
     }
 
+    /**
+     * 年度切割完成重量
+     */
+    @GetMapping("/ndwcl")
+    public ResultBean<?> getndWcl(){
+        DateTime date = DateUtil.date();
+        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<>();
+    }
+
     /**
      * 消息
      */
diff --git a/src/main/java/com/dsic/gj_erp/controller/kban/SCKbanController.java b/src/main/java/com/dsic/gj_erp/controller/kban/SCKbanController.java
new file mode 100644
index 0000000..3295c0f
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/controller/kban/SCKbanController.java
@@ -0,0 +1,32 @@
+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.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jhgk.DmYdjh;
+import com.dsic.gj_erp.service.jhgk.DmYdjhService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("sc")
+@AllArgsConstructor
+public class SCKbanController {
+
+    private final DmYdjhService service;
+
+    @GetMapping("getYdjhByMonth")
+    public ResultBean<?> getYdjhByMonth(){
+        DateTime date=DateUtil.date();
+        List<DmYdjh> between = service.list(Wrappers.<DmYdjh>lambdaQuery()
+                .between(DmYdjh::getQgfkrq, DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"), DateUtil.endOfMonth(date).offsetNew(DateField.DAY_OF_YEAR,1).toString("yyyy/MM/dd")));
+        return new ResultBean<>(between);
+    }
+}
diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java
index 902119c..3662c71 100644
--- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java
+++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmXbjhMapper.java
@@ -4,6 +4,7 @@ package com.dsic.gj_erp.mapper.jhgk;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsic.gj_erp.bean.jhgk.DmXbjh;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -17,4 +18,6 @@ import java.util.List;
 public interface DmXbjhMapper extends BaseMapper<DmXbjh> {
 
     List<DmXbjh> getList(String dcCh,String nf,String startTime,String endTime,String version);
+
+    BigDecimal getZlByNfAndVersion(String nf,String version);
 }
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 bfa6818..b814bc5 100644
--- a/src/main/java/com/dsic/gj_erp/service/KbanService.java
+++ b/src/main/java/com/dsic/gj_erp/service/KbanService.java
@@ -26,6 +26,13 @@ public class KbanService {
     @Value("${xbjh-path}")
     String xbjhPath;
 
+    /**
+     * 按日期计算切割完成重量
+     */
+    public BigDecimal getWgzlByTime(String from,String to){
+        return null;
+    }
+
     public List<Map<String,Object>> 作业计划完成量(Map<String, Object> map){
         return kbanMapper.作业计划完成量(map);
     }
diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java
index f04f772..e3e332d 100644
--- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java
+++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmXbjhService.java
@@ -6,9 +6,11 @@ import com.dsic.gj_erp.bean.jhgk.DmXbjh;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * <p>
@@ -29,5 +31,9 @@ public interface DmXbjhService extends IService<DmXbjh> {
 
     List<HashMap<String, Object>> getVersion(String nf);
 
+    AtomicInteger getMaxVersion();
+
     Map<String, List<DmXbjh>> getByVersion(String startTime, String _version);
+
+    BigDecimal getZlByNfAndVersion(String nf,String version);
 }
diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java
index a008280..d7bf2dc 100644
--- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java
+++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java
@@ -23,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import java.io.File;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -119,6 +120,11 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
         return null;
     }
 
+    @Override
+    public BigDecimal getZlByNfAndVersion(String nf,String version) {
+        return baseMapper.getZlByNfAndVersion(nf,version);
+    }
+
     public List<HashMap<String, Object>> getVersion(String nf) {
         if (nf == null) {
             return null;
@@ -147,25 +153,7 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
     public JSONObject upload(MultipartFile file) throws IOException {
         JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file);
         if (dmXbjhs != null) {
-            File[] files = FileUtil.ls(xbjhPath);
-            AtomicInteger maxVersion = new AtomicInteger(0);
-            if (files.length > 0) {
-                HashSet<String> names = new HashSet<>();
-                for (File file1 : files) {
-                    String name = FileUtil.getPrefix(file1.getName());
-                    if (name.contains(DateUtil.thisYear()+"")){
-                        String[] s = name.split("_");
-                        names.add(s[s.length - 1]);
-                    }
-                }
-
-                names.stream()
-                        .max(String::compareTo)
-                        .ifPresent(item -> {
-                    String v = item.replace("v", "");
-                    maxVersion.set(Integer.parseInt(v));
-                });
-            }
+            AtomicInteger maxVersion = getMaxVersion();
 
             String type = FileUtil.extName(file.getOriginalFilename());
             File uploadFile = new File(xbjhPath);
@@ -180,6 +168,30 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
         return dmXbjhs;
     }
 
+    @Override
+    public AtomicInteger getMaxVersion(){
+        File[] files = FileUtil.ls(xbjhPath);
+        AtomicInteger maxVersion = new AtomicInteger(0);
+        if (files.length > 0) {
+            HashSet<String> names = new HashSet<>();
+            for (File file1 : files) {
+                String name = FileUtil.getPrefix(file1.getName());
+                if (name.contains(DateUtil.thisYear()+"")){
+                    String[] s = name.split("_");
+                    names.add(s[s.length - 1]);
+                }
+            }
+
+            names.stream()
+                    .max(String::compareTo)
+                    .ifPresent(item -> {
+                        String v = item.replace("v", "");
+                        maxVersion.set(Integer.parseInt(v));
+                    });
+        }
+        return maxVersion;
+    }
+
     @Override
     @Transactional
     public void save(JSONObject json,int version) {
diff --git a/src/main/resources/mappers/jhgk/DmXbjhMapper.xml b/src/main/resources/mappers/jhgk/DmXbjhMapper.xml
index b928686..9c5a8b0 100644
--- a/src/main/resources/mappers/jhgk/DmXbjhMapper.xml
+++ b/src/main/resources/mappers/jhgk/DmXbjhMapper.xml
@@ -46,5 +46,8 @@
             </if>
         ORDER BY yf ,zl DESC
     </select>
+    <select id="getZlByNfAndVersion" resultType="java.math.BigDecimal">
+        select sum(zl) from dm_xbjh where nf=#{nf} and version=#{version}
+    </select>
 
 </mapper>