From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java |  233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 217 insertions(+), 16 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java
index efac311..51f38d3 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java
@@ -1,23 +1,35 @@
 package com.ruoyi.management.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.management.domain.*;
-import com.ruoyi.management.domain.dto.SlGoodsMaterialsSlVolumeProductionRkQuery;
-import com.ruoyi.management.domain.dto.SlVolumeProductionCkDTO;
+import com.ruoyi.management.domain.dto.*;
+import com.ruoyi.management.domain.vo.InventoriesSuppliesInfoVO;
 import com.ruoyi.management.domain.vo.ManagementimgSlVolumeProductionCkVO;
+import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionCkVO;
 import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
+import com.ruoyi.management.mapper.SlGoodsMaterialsMapper;
+import com.ruoyi.management.mapper.SlGoodsShelfMapper;
 import com.ruoyi.management.mapper.SlVolumeProductionCkMapper;
 import com.ruoyi.management.mapper.SlVolumeProductionRkMapper;
+import com.ruoyi.management.service.ManagementGoodsMaterialsService;
 import com.ruoyi.management.service.SlVolumeProductionCkService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.management.service.SlVolumeProductionCkglService;
+import com.ruoyi.management.service.SlVolumeProductionRkService;
 import com.ruoyi.system.api.domain.SysUser;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -32,34 +44,223 @@
 
     @Resource
     private SlVolumeProductionRkMapper  slVolumeProductionRkMapper;
+    @Autowired
+    private SlVolumeProductionCkglService ckglService;
+
+    @Resource
+    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
+
+    @Resource
+    private SlGoodsShelfMapper slGoodsShelfMapper;
+    @Autowired
+    private ManagementGoodsMaterialsService managementGoodsMaterialsService;
 
     @Override
     public PageDTO<ManagementimgSlVolumeProductionCkVO> getManagementimgSlVolumeProductionCkList(SlGoodsMaterialsSlVolumeProductionRkQuery slGoodsMaterialsSlVolumeProductionRkQuery) {
-        Page<SlVolumeProductionCk> page = new Page<>(slGoodsMaterialsSlVolumeProductionRkQuery.getPageCurr(), slGoodsMaterialsSlVolumeProductionRkQuery.getPageSize());
+
+            QueryWrapper<SlVolumeProductionRk> notNull = new QueryWrapper<SlVolumeProductionRk>()
+
+                    .eq("del_flag", "0")
+                    .isNotNull("new_add_time");
+            if (slGoodsMaterialsSlVolumeProductionRkQuery.getId()!=null){
+                notNull.eq("management_id", slGoodsMaterialsSlVolumeProductionRkQuery.getId());
+            }
+            if (slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()!=null){
+                notNull.eq("materials_id", slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid());
+            }
+            if (slGoodsMaterialsSlVolumeProductionRkQuery.getStoreManagementNumber()!=null){
+                notNull.eq("store_management_number", slGoodsMaterialsSlVolumeProductionRkQuery.getStoreManagementNumber());
+            }
+            // 查询该仓库的入库记录
+            List<Long> collect = slVolumeProductionRkMapper.selectList(notNull
+            ).stream().map(SlVolumeProductionRk::getId).collect(Collectors.toList());
+            Page<SlVolumeProductionCk> page1 = new Page<>(slGoodsMaterialsSlVolumeProductionRkQuery.getPageCurr(), slGoodsMaterialsSlVolumeProductionRkQuery.getPageSize());
+            LambdaQueryWrapper< SlVolumeProductionCk> wrapper2= Wrappers.lambdaQuery();
+            wrapper2.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid());
+            wrapper2.eq(SlVolumeProductionCk::getDelFlag,0);
+            wrapper2.isNotNull(SlVolumeProductionCk::getCkTime);
+            wrapper2.orderByDesc(SlVolumeProductionCk::getCreateTime);
+            if (!collect.isEmpty()){
+                wrapper2.in(SlVolumeProductionCk::getRkId,collect);
+            }
+            Page<SlVolumeProductionCk> page3 = this.page(page1, wrapper2);
+            PageDTO<ManagementimgSlVolumeProductionCkVO> SlGoodsShelfDTO1 = PageDTO.of(page3, ManagementimgSlVolumeProductionCkVO.class);
+            List<ManagementimgSlVolumeProductionCkVO> list3 = SlGoodsShelfDTO1.getList();
+            for(ManagementimgSlVolumeProductionCkVO list:list3) {{
+                SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
+                list.setRkNumber(slVolumeProductionRk.getRkNumber());
+            }
+            }
+            return SlGoodsShelfDTO1;
+    }
+
+    @Override
+    public void updSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
+           for (AddSlVolumeProductionCkDTO c:slVolumeProductionCkDTO){
+               SlVolumeProductionCk byId = this.getById(c.getCkgl_id());
+               byId.setCkNum(c.getCkNum());
+               byId.setGuihNum(c.getGuihNum());
+               this.updateById(byId);
+
+           }
+    }
+    @Override
+    public void updSlVolumeProductionCk1(List<AddSlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
+           for (AddSlVolumeProductionCkDTO c:slVolumeProductionCkDTO){
+               SlVolumeProductionCk byId = this.getById(c.getCkgl_id());
+               byId.setCkNum(c.getCkNum());
+               byId.setGuihNum(c.getGuihNum());
+               byId.setIsGh(2);
+               this.updateById(byId);
+//               Long ckglId = byId.getCkglId();
+//               SlVolumeProductionCkgl byId1 = ckglService.getById(ckglId);
+//               byId1.setAuditStatus(1);
+//               byId1.setPresentState(1);
+//               ckglService.updateById(byId1);
+
+           }
+    }
+
+    @Override
+    public void addSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO) {
+        List<SlVolumeProductionCk> list = this.lambdaQuery().eq(SlVolumeProductionCk::getCkglId, addSlVolumeProductionCkDTO.get(0).getCkgl_id())
+                .eq(SlVolumeProductionCk::getDelFlag, "0").list();
+        if (!list.isEmpty()){
+            this.removeBatchByIds(list.stream().map(SlVolumeProductionCk::getId).collect(Collectors.toList()));
+        }
+        for (AddSlVolumeProductionCkDTO m:addSlVolumeProductionCkDTO){
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
+            SlVolumeProductionCk slVolumeProductionCk=new SlVolumeProductionCk();
+            slVolumeProductionCk.setRkId(m.getRkId());
+            slVolumeProductionCk.setCkglId(m.getCkgl_id());
+            slVolumeProductionCk.setState(1);
+            slVolumeProductionCk.setType(1);
+            slVolumeProductionCk.setCkNum(m.getCkNum());
+            slVolumeProductionCk.setGuihNum(m.getGuihNum());
+            slVolumeProductionCk.setMaterialsId(slVolumeProductionRk.getMaterialsId());
+            slVolumeProductionCk.setCreateTime(new Date());
+            this.save(slVolumeProductionCk);
+        }
+    }
+
+    @Override
+    public PageDTO<ManagementimgVolumeProductionCkVO> getSlVolumeProductionCkList(ManagementimgVolumeProductionCkQuery managementimgVolumeProductionCkQuery) {
+        Page<SlVolumeProductionCk> page = new Page<>(managementimgVolumeProductionCkQuery.getPageCurr(), managementimgVolumeProductionCkQuery.getPageSize());
         LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery();
-        wrapper1.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid());
+        wrapper1.eq(SlVolumeProductionCk::getCkglId,managementimgVolumeProductionCkQuery.getVolumeProductionCKglId());
         wrapper1.eq( SlVolumeProductionCk::getDelFlag,0);
         wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
         Page<SlVolumeProductionCk> page2 = this.page(page, wrapper1);
-        PageDTO<ManagementimgSlVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgSlVolumeProductionCkVO.class);
-        List<ManagementimgSlVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList();
-        for(ManagementimgSlVolumeProductionCkVO list:list2) {{
+
+        PageDTO<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionCkVO.class);
+        List<ManagementimgVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList();
+        for(ManagementimgVolumeProductionCkVO list:list2) {
+            {
             SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
+            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
             list.setRkNumber(slVolumeProductionRk.getRkNumber());
-            }
+            list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai());
+            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+            list.setIsConsume(slGoodsMaterials.getIsConsume());
+            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
+            list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
+        }
         }
         return SlGoodsShelfDTO;
     }
 
     @Override
-    public void addSlVolumeProductionCk(SlVolumeProductionCkDTO slVolumeProductionCkDTO) {
-        if (slVolumeProductionCkDTO.getId()==null){
-            SlVolumeProductionCk slVolumeProductionCk=new SlVolumeProductionCk();
-            slVolumeProductionCk.setRkId(slVolumeProductionCkDTO.getRkId());
-        }else{
-            SlVolumeProductionCk byId = this.getById(slVolumeProductionCkDTO.getId());
-            byId.setCkNum(slVolumeProductionCkDTO.getCkNum());
-            this.updateById(byId);
+    public List<ManagementimgVolumeProductionCkVO> SlVolumeProductionCkList(ManagementimgVolumeProductionCkQuery managementimgVolumeProductionCkQuery) {
+        LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionCk::getCkglId,managementimgVolumeProductionCkQuery.getVolumeProductionCKglId());
+        wrapper1.eq( SlVolumeProductionCk::getDelFlag,0);
+        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
+        List<SlVolumeProductionCk> page2 = this.list(wrapper1);
+            List<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO=new ArrayList<>();
+        for(SlVolumeProductionCk list1:page2) {{
+            ManagementimgVolumeProductionCkVO list=new ManagementimgVolumeProductionCkVO();
+            list.setId(list1.getId());
+            list.setCkNum(list1.getCkNum());
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list1.getRkId());
+            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
+            list.setRkNumber(slVolumeProductionRk.getRkNumber());
+            list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai());
+            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+            list.setIsConsume(slGoodsMaterials.getIsConsume());
+            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
+            list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
+
+            SlGoodsShelfDTO.add(list);
+            }
         }
+        return SlGoodsShelfDTO;
+    }
+
+    @Autowired
+    private SlVolumeProductionRkService slVolumeProductionRkService;
+    @Override
+    public PageDTO<InventoriesSuppliesInfoVO> getMaterialByManagementIdList(GetMaterialsByManagementIdQuery query) {
+        List<InventoriesSuppliesInfoVO> res = new ArrayList<>();
+        Page<SlVolumeProductionRk> page = new Page<>(query.getPageCurr(), query.getPageSize());
+        QueryWrapper<ManagementGoodsMaterials> wrapper1 = new QueryWrapper<>();
+        wrapper1.eq("del_flag","0");
+        wrapper1.eq("management_id",query.getManagementId());
+        // 获取对应仓库下所有入库的物资ids
+        List<Long> collect = managementGoodsMaterialsService.list(wrapper1).stream().map(ManagementGoodsMaterials::getGoodsMaterialsId).collect(Collectors.toList());
+        QueryWrapper<SlGoodsMaterials> wrapper2 = new QueryWrapper<>();
+        if (StringUtils.hasLength(query.getMaterialsName())){
+            wrapper2.like("goods_materials_name",query.getMaterialsName());
+        }
+        if (query.getIsConsume()!=null){
+            wrapper2.eq("is_consume",query.getIsConsume());
+        }
+        wrapper2.eq("del_flag","0");
+        if (collect.isEmpty())collect.add(-1L);
+        wrapper2.in("id",collect);
+        List<Long> collect1 = slGoodsMaterialsMapper.selectList(wrapper2).stream().map(SlGoodsMaterials::getId).collect(Collectors.toList());
+        QueryWrapper<SlVolumeProductionRk> wrapper = new QueryWrapper<>();
+        if (collect1.isEmpty())collect1.add(-1L);
+        wrapper.in("materials_id",collect1);
+        wrapper.eq("management_id",query.getManagementId());
+        wrapper.eq("del_flag","0");
+        wrapper.isNotNull("new_add_time");
+
+        Page<SlVolumeProductionRk> page2 = slVolumeProductionRkService.page(page, wrapper);
+        List<SlVolumeProductionRk> list = page2.getRecords();
+
+        PageDTO<InventoriesSuppliesInfoVO> slGoodsMaterialsVO = PageDTO.of(page2, InventoriesSuppliesInfoVO.class);
+        for (SlVolumeProductionRk slVolumeProductionRk : list) {
+            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+            StringBuilder stringBuilder = new StringBuilder();
+            for (String s : slVolumeProductionRk.getShelfId().split(",")) {
+                SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(s);
+                if (slGoodsShelf!=null){
+                    stringBuilder.append(slGoodsShelf.getGoodsShelfName()).append(",");
+                }
+            }
+
+            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
+            if (slGoodsMaterials == null || slGoodsShelf == null){
+                continue;
+            }
+            InventoriesSuppliesInfoVO inventoriesSuppliesInfoVO = new InventoriesSuppliesInfoVO();
+            inventoriesSuppliesInfoVO.setId(slVolumeProductionRk.getId());
+            inventoriesSuppliesInfoVO.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+            inventoriesSuppliesInfoVO.setIsConsume(slGoodsMaterials.getIsConsume());
+            inventoriesSuppliesInfoVO.setRkNumber(slVolumeProductionRk.getRkNumber());
+            inventoriesSuppliesInfoVO.setRkModel(slVolumeProductionRk.getRkModel());
+            inventoriesSuppliesInfoVO.setRkId(slVolumeProductionRk.getId());
+            inventoriesSuppliesInfoVO.setZkNum(slVolumeProductionRk.getRepertoryZhai());
+            inventoriesSuppliesInfoVO.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
+            // 去除最后一位字符
+            if (StringUtils.hasLength(stringBuilder.toString())){
+                inventoriesSuppliesInfoVO.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1));
+            }
+            res.add(inventoriesSuppliesInfoVO);
+        }
+        slGoodsMaterialsVO.setList(res);
+        return slGoodsMaterialsVO;
     }
 }

--
Gitblit v1.7.1