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/SlGoodsMaterialsServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
index dd657cc..4a25236 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
@@ -1,6 +1,8 @@
 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.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.utils.page.BeanUtils;
@@ -23,9 +25,11 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.management.service.SlVolumeProductionRkService;
 import io.micrometer.core.instrument.binder.BaseUnits;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -56,8 +60,19 @@
             slGoodsMaterials.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
             slGoodsMaterials.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
             slGoodsMaterials.setRepertory(slGoodsMaterialsDTO.getRepertory());
+            slGoodsMaterials.setCreateTime(new Date());
             this.save(slGoodsMaterials);
         }else{
+            // 将该物资的所有预警库存修改
+            List<ManagementGoodsMaterials> list = managementGoodsMaterialsService.list(new QueryWrapper<ManagementGoodsMaterials>()
+                    .eq("del_flag", 0)
+                    .eq("goods_materials_id", slGoodsMaterialsDTO.getId()));
+            for (ManagementGoodsMaterials managementGoodsMaterials : list) {
+                managementGoodsMaterialsService.update(new UpdateWrapper<ManagementGoodsMaterials>()
+                        .set("repertory", slGoodsMaterialsDTO.getRepertory())
+                        .eq("id",managementGoodsMaterials.getId()));
+            }
+
             SlGoodsMaterials byId = this.getById(slGoodsMaterialsDTO.getId());
             if (slGoodsMaterialsDTO.getGoodsMaterialsName()!=null){
                 byId.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName());
@@ -79,18 +94,27 @@
             if (slGoodsMaterialsDTO.getIsConsume()!=null){
                 byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
             }
-            this.updateById(byId);
+            byId.setId(slGoodsMaterialsDTO.getId());
+            byId.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName());
+            byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
+            byId.setRepertory(slGoodsMaterialsDTO.getRepertory());
+            byId.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
+            byId.setUpdateTime(new Date());
+            // 手动update
+            slGoodsMaterialsMapper.update1(byId);
         }
     }
 
+    @Autowired
+    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
     @Override
     public PageDTO<SlGoodsMaterialsVO> getGoodSmaterialsList(SlGoodsMaterialsQuery slGoodsMaterialsQuery) {
         Page<SlGoodsMaterials> page = new Page<>(slGoodsMaterialsQuery.getPageCurr(), slGoodsMaterialsQuery.getPageSize());
         LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery();
-        if (slGoodsMaterialsQuery.getGoodsMaterialsName()!=null&&slGoodsMaterialsQuery.getGoodsMaterialsName()!=""){
-            wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,slGoodsMaterialsQuery.getGoodsMaterialsName());
+        if (slGoodsMaterialsQuery.getGoodsMaterialsName()!=null&& !slGoodsMaterialsQuery.getGoodsMaterialsName().isEmpty()){
+            wrapper.like(SlGoodsMaterials::getGoodsMaterialsName,slGoodsMaterialsQuery.getGoodsMaterialsName());
         }
-        if (slGoodsMaterialsQuery.getIsConsume()!=0){
+        if (slGoodsMaterialsQuery.getIsConsume() !=null && slGoodsMaterialsQuery.getIsConsume()!=0){
             wrapper.eq(SlGoodsMaterials::getIsConsume,slGoodsMaterialsQuery.getIsConsume());
         }
         wrapper.eq( SlGoodsMaterials::getDelFlag,0);
@@ -103,6 +127,7 @@
     public PageDTO<StoreManagementGoodSmaterialsVO> getStoreManagementGoodSmaterialsOne(StoreManagementGoodSmaterialsQuery storeManagementGoodSmaterialsQuery) {
         LambdaQueryWrapper<SlVolumeProductionRk> wrappers= Wrappers.lambdaQuery();
         wrappers.eq(SlVolumeProductionRk::getManagementId,storeManagementGoodSmaterialsQuery.getStoreManagementId());
+        wrappers.isNotNull(SlVolumeProductionRk::getNewAddTime);
         List<SlVolumeProductionRk> slVolumeProductionRks = slVolumeProductionRkMapper.selectList(wrappers);
         Set<Long> slVolumeProductionIdList = null;
         slVolumeProductionIdList = slVolumeProductionRks.stream().map(SlVolumeProductionRk::getMaterialsId)
@@ -121,46 +146,44 @@
         SlGoodsMaterialsList = list1.stream().map(SlGoodsMaterials::getId)
                 .collect(Collectors.toSet());
 
-
         Page<ManagementGoodsMaterials> page = new Page<>(storeManagementGoodSmaterialsQuery.getPageCurr(), storeManagementGoodSmaterialsQuery.getPageSize());
         LambdaQueryWrapper< ManagementGoodsMaterials> wrapper= Wrappers.lambdaQuery();
 
-        if (slVolumeProductionIdList.size()>0){
-            wrapper.in(ManagementGoodsMaterials::getManagementId,slVolumeProductionIdList);
-        }
-        if (SlGoodsMaterialsList.size()>0){
+//        if (!slVolumeProductionIdList.isEmpty()){
+//            wrapper.in(ManagementGoodsMaterials::getId,slVolumeProductionIdList);
+//        }
+
+        if (!SlGoodsMaterialsList.isEmpty()){
             wrapper.in(ManagementGoodsMaterials::getGoodsMaterialsId,SlGoodsMaterialsList);
         }
         wrapper.eq( ManagementGoodsMaterials::getDelFlag,0);
+        wrapper.eq(ManagementGoodsMaterials::getManagementId,storeManagementGoodSmaterialsQuery.getStoreManagementId());
         wrapper.orderByDesc(ManagementGoodsMaterials::getCreateTime);
         Page<ManagementGoodsMaterials> page1 = managementGoodsMaterialsService.page(page, wrapper);
         PageDTO<StoreManagementGoodSmaterialsVO> storeManagementGoodSmaterialsVOPageDTO = PageDTO.of(page1, StoreManagementGoodSmaterialsVO.class);
         List<StoreManagementGoodSmaterialsVO> list = storeManagementGoodSmaterialsVOPageDTO.getList();
         for (StoreManagementGoodSmaterialsVO li:list){
-            Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(li.getGoodsMaterialsId());
+            Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(li.getGoodsMaterialsId(),li.getManagementId());
             SlGoodsMaterials byId = this.getById(li.getGoodsMaterialsId());
             li.setGoodsMaterialsName(byId.getGoodsMaterialsName());
             li.setIsConsume(byId.getIsConsume());
             li.setAveragePrice(storeManagementGoodSmaterialsOne);
         }
-
-
         return storeManagementGoodSmaterialsVOPageDTO;
     }
 
     @Override
     public StoreManagementGoodSmaterialsVO getSmaterialsOne(StoreManagementGoodSmaterialsQuery storeManagementGoodSmaterialsQuery) {
-        LambdaQueryWrapper< ManagementGoodsMaterials> wrapper= Wrappers.lambdaQuery();
-
-
+        LambdaQueryWrapper<ManagementGoodsMaterials> wrapper= Wrappers.lambdaQuery();
         wrapper.eq(ManagementGoodsMaterials::getGoodsMaterialsId,storeManagementGoodSmaterialsQuery.getGoodsMaterialsId());
-
         wrapper.eq( ManagementGoodsMaterials::getDelFlag,0);
+        wrapper.eq( ManagementGoodsMaterials::getManagementId,storeManagementGoodSmaterialsQuery.getStoreManagementId());
         wrapper.orderByDesc(ManagementGoodsMaterials::getCreateTime);
         ManagementGoodsMaterials page1 = managementGoodsMaterialsService.getOne(wrapper);
         StoreManagementGoodSmaterialsVO storeManagementGoodSmaterialsVO = BeanUtils.copyBean(page1, StoreManagementGoodSmaterialsVO.class);
-            Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(storeManagementGoodSmaterialsVO.getGoodsMaterialsId());
-            SlGoodsMaterials byId = this.getById(storeManagementGoodSmaterialsVO.getGoodsMaterialsId());
+        Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(storeManagementGoodSmaterialsVO.getGoodsMaterialsId(),
+                storeManagementGoodSmaterialsQuery.getStoreManagementId());
+        SlGoodsMaterials byId = this.getById(storeManagementGoodSmaterialsVO.getGoodsMaterialsId());
         storeManagementGoodSmaterialsVO.setGoodsMaterialsName(byId.getGoodsMaterialsName());
         storeManagementGoodSmaterialsVO.setIsConsume(byId.getIsConsume());
         storeManagementGoodSmaterialsVO.setAveragePrice(storeManagementGoodSmaterialsOne);

--
Gitblit v1.7.1