From 5ae817fa2b6a8d183683a9efe1108d629fa0e22a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com>
Date: Fri, 12 Apr 2024 14:21:46 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E6=9C=88=E5=BA=A6=E8=AE=A1?=
 =?UTF-8?q?=E5=88=92=E4=B8=8B=E5=8F=91=E5=89=8D=E6=A0=A1=E9=AA=8C=E5=A5=97?=
 =?UTF-8?q?=E6=96=99=E5=9B=BE=E4=B8=8B=E5=8F=91=E6=83=85=E5=86=B5=E3=80=81?=
 =?UTF-8?q?=E7=89=A9=E6=96=99=E6=83=85=E5=86=B5=E6=98=AF=E5=90=A6=E6=BB=A1?=
 =?UTF-8?q?=E8=B6=B3=E6=96=BD=E5=B7=A5=E8=BF=9B=E5=BA=A6=E8=A6=81=E6=B1=82?=
 =?UTF-8?q?,=E4=B8=8D=E6=BB=A1=E8=B6=B3=E6=97=B6=E8=BF=9B=E8=A1=8C?=
 =?UTF-8?q?=E6=8F=90=E9=86=92,=E5=B9=B6=E4=B8=94=E5=9C=A8=E4=B8=8B?=
 =?UTF-8?q?=E5=8F=91=E6=97=B6=E8=BF=9B=E8=A1=8C=E4=BA=8C=E6=AC=A1=E7=A1=AE?=
 =?UTF-8?q?=E8=AE=A4=E6=89=8D=E5=8F=AF=E4=B8=8B=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/dsic/gj_erp/bean/kc/ImCkwpkwp.java    | 32 ++++++++++++++
 .../controller/jhgk/DmYdjhController.java     | 44 ++++++++++++++++++-
 .../gj_erp/mapper/kc/ImCkwpkwpMapper.java     |  7 +++
 .../gj_erp/service/kc/ImCkwpkwpService.java   | 31 +++++++++++++
 src/main/resources/mappers/kc/ImCkwpkwp.xml   |  5 +++
 5 files changed, 118 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java
 create mode 100644 src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java
 create mode 100644 src/main/java/com/dsic/gj_erp/service/kc/ImCkwpkwpService.java
 create mode 100644 src/main/resources/mappers/kc/ImCkwpkwp.xml

diff --git a/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java
new file mode 100644
index 0000000..5f074f6
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/bean/kc/ImCkwpkwp.java
@@ -0,0 +1,32 @@
+package com.dsic.gj_erp.bean.kc;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 库存信息
+ */
+@Getter
+@Setter
+@TableName("IM_CKWPKWP")
+public class ImCkwpkwp {
+    @MppMultiId
+    private String ckh;
+    @MppMultiId
+    private String wph;
+    @MppMultiId
+    private String kwh;//垛位
+    @MppMultiId
+    private String nbsbm;
+
+    private String cfcs1;//层数
+
+    private String dcCh;
+    private String dcFd;
+
+    private String qxkcl;//物品数量
+    private String wpzt;//ky:可用;dy:代用
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java
index 90649c8..0837250 100644
--- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java
+++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmYdjhController.java
@@ -1,23 +1,33 @@
 package com.dsic.gj_erp.controller.jhgk;
 
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.dsic.gj_erp.annotation.AuthFunction;
 import com.dsic.gj_erp.bean.ResultBean;
+import com.dsic.gj_erp.bean.jcsj.DmCzplpNew;
 import com.dsic.gj_erp.bean.jhgk.DmYdjh;
+import com.dsic.gj_erp.bean.kc.ImCkwpkwp;
+import com.dsic.gj_erp.service.jcsj.DmCzplpNewService;
+import com.dsic.gj_erp.service.jcsj.DmCzplpService;
 import com.dsic.gj_erp.service.jhgk.DmYdjhService;
+import com.dsic.gj_erp.service.kc.ImCkwpkwpService;
+import org.mapstruct.factory.Mappers;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -33,6 +43,11 @@ public class DmYdjhController {
 
     @Autowired
     private DmYdjhService service;
+    @Autowired
+    private ImCkwpkwpService kcService;
+
+    @Autowired
+    private DmCzplpNewService czplpNewService;
 
     @RequestMapping("/getList")
     @AuthFunction
@@ -44,7 +59,34 @@ public class DmYdjhController {
                 .le(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))).toString("yyyy/MM/dd"))
                 .orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb")
         );
-        return new ResultBean(list);
+
+        Map<String, List<DmYdjh>> collect = list.stream().collect(Collectors.groupingBy(DmYdjh::getDcCh));
+        List<Map<String, Object>> resultMap=new ArrayList<>();
+        //验证数据获取方法,后续可以都在这里进行获取
+        collect.forEach((key,val)->{
+            List<ImCkwpkwp> bcKcxx = kcService.getBcKcxx(key);
+            List<DmCzplpNew> czplpNewList = czplpNewService.list(Wrappers.<DmCzplpNew>lambdaQuery()
+                    .eq(DmCzplpNew::getDcCh, key)
+            );
+            val.forEach(item->{
+                Map<String, Object> itemMap = BeanUtil.beanToMap(item);
+                resultMap.add(itemMap);
+                bcKcxx.forEach(kc->{
+                    if (item.getDcCh().equals(kc.getDcCh())&&item.getDcFd().equals(kc.getDcFd())){
+                        itemMap.put("kc",kc);
+                    }
+                });
+                czplpNewList.forEach(czplpNew->{
+                    if (item.getDcCh().equals(czplpNew.getDcCh())&&item.getDcPl().equals(czplpNew.getDcPl())){
+                        itemMap.put("czplpNew",czplpNew);
+                    }
+                });
+            });
+
+
+        });
+
+        return new ResultBean(resultMap);
     }
 
 
diff --git a/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java
new file mode 100644
index 0000000..a815f9f
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/mapper/kc/ImCkwpkwpMapper.java
@@ -0,0 +1,7 @@
+package com.dsic.gj_erp.mapper.kc;
+
+import com.dsic.gj_erp.bean.kc.ImCkwpkwp;
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+
+public interface ImCkwpkwpMapper extends MppBaseMapper<ImCkwpkwp> {
+}
diff --git a/src/main/java/com/dsic/gj_erp/service/kc/ImCkwpkwpService.java b/src/main/java/com/dsic/gj_erp/service/kc/ImCkwpkwpService.java
new file mode 100644
index 0000000..d42c7b0
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/service/kc/ImCkwpkwpService.java
@@ -0,0 +1,31 @@
+package com.dsic.gj_erp.service.kc;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dsic.gj_erp.bean.kc.ImCkwpkwp;
+import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ImCkwpkwpService extends MppServiceImpl<ImCkwpkwpMapper, ImCkwpkwp> {
+
+    /**
+     * 根据船只,分段获取板材库存信息
+     */
+    public List<ImCkwpkwp> getBcKcxx(String dcCh){
+        return this.getByDcch(dcCh,"01");
+    }
+
+    /**
+     * 根据仓库号,船只,分段获取板材/型材库存信息
+     */
+    public List<ImCkwpkwp> getByDcch(String dcCh,String ckh){
+        return this.list(Wrappers.<ImCkwpkwp>lambdaQuery()
+                .eq(ImCkwpkwp::getCkh,ckh)
+                .eq(ImCkwpkwp::getDcCh,dcCh)
+                .eq(ImCkwpkwp::getWpzt,"KY")
+        );
+    }
+}
diff --git a/src/main/resources/mappers/kc/ImCkwpkwp.xml b/src/main/resources/mappers/kc/ImCkwpkwp.xml
new file mode 100644
index 0000000..c3f14ba
--- /dev/null
+++ b/src/main/resources/mappers/kc/ImCkwpkwp.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper">
+
+</mapper>