无关风月
2024-08-27 b5ef65d0103a71dc7af2b9be6d2ac43aca5bb726
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.ManagementGoodsMaterials;
import com.ruoyi.management.domain.SlGoodsMaterials;
@@ -21,9 +22,12 @@
import com.ruoyi.management.service.SlGoodsMaterialsService;
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;
@@ -52,6 +56,7 @@
            SlGoodsMaterials slGoodsMaterials=new  SlGoodsMaterials();
            slGoodsMaterials.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName());
            slGoodsMaterials.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
            slGoodsMaterials.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
            slGoodsMaterials.setRepertory(slGoodsMaterialsDTO.getRepertory());
            this.save(slGoodsMaterials);
        }else{
@@ -72,19 +77,29 @@
                }
            }
            byId.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
            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){
            wrapper.eq(SlGoodsMaterials::getIsConsume,slGoodsMaterialsQuery.getIsConsume());
@@ -105,7 +120,7 @@
                .collect(Collectors.toSet());
        LambdaQueryWrapper< SlGoodsMaterials> wrapper1 =Wrappers.lambdaQuery();
        if (storeManagementGoodSmaterialsQuery.getIsConsume()!=0){
        if (storeManagementGoodSmaterialsQuery.getIsConsume()!=null&&storeManagementGoodSmaterialsQuery.getIsConsume()!=0){
            wrapper1.eq(SlGoodsMaterials::getIsConsume,storeManagementGoodSmaterialsQuery.getIsConsume());
        }
        if (storeManagementGoodSmaterialsQuery.getGoodsMaterialsName()!=null){
@@ -117,17 +132,18 @@
        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);
@@ -139,8 +155,25 @@
            li.setIsConsume(byId.getIsConsume());
            li.setAveragePrice(storeManagementGoodSmaterialsOne);
        }
        return storeManagementGoodSmaterialsVOPageDTO;
    }
    @Override
    public StoreManagementGoodSmaterialsVO getSmaterialsOne(StoreManagementGoodSmaterialsQuery storeManagementGoodSmaterialsQuery) {
        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());
        storeManagementGoodSmaterialsVO.setGoodsMaterialsName(byId.getGoodsMaterialsName());
        storeManagementGoodSmaterialsVO.setIsConsume(byId.getIsConsume());
        storeManagementGoodSmaterialsVO.setAveragePrice(storeManagementGoodSmaterialsOne);
           return storeManagementGoodSmaterialsVO;
        }
}