无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java
@@ -18,6 +18,7 @@
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;
@@ -43,6 +44,8 @@
    @Resource
    private SlVolumeProductionRkMapper  slVolumeProductionRkMapper;
    @Autowired
    private SlVolumeProductionCkglService ckglService;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
@@ -54,36 +57,77 @@
    @Override
    public PageDTO<ManagementimgSlVolumeProductionCkVO> getManagementimgSlVolumeProductionCkList(SlGoodsMaterialsSlVolumeProductionRkQuery slGoodsMaterialsSlVolumeProductionRkQuery) {
        Page<SlVolumeProductionCk> page = new Page<>(slGoodsMaterialsSlVolumeProductionRkQuery.getPageCurr(), slGoodsMaterialsSlVolumeProductionRkQuery.getPageSize());
        LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery();
        wrapper1.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid());
        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) {{
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            list.setRkNumber(slVolumeProductionRk.getRkNumber());
            QueryWrapper<SlVolumeProductionRk> notNull = new QueryWrapper<SlVolumeProductionRk>()
                    .eq("del_flag", "0")
                    .isNotNull("new_add_time");
            if (slGoodsMaterialsSlVolumeProductionRkQuery.getId()!=null){
                notNull.eq("management_id", slGoodsMaterialsSlVolumeProductionRkQuery.getId());
            }
        }
        return SlGoodsShelfDTO;
            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<SlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
           for (SlVolumeProductionCkDTO c:slVolumeProductionCkDTO){
               SlVolumeProductionCk byId = this.getById(c.getId());
    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();
@@ -94,6 +138,7 @@
            slVolumeProductionCk.setCkNum(m.getCkNum());
            slVolumeProductionCk.setGuihNum(m.getGuihNum());
            slVolumeProductionCk.setMaterialsId(slVolumeProductionRk.getMaterialsId());
            slVolumeProductionCk.setCreateTime(new Date());
            this.save(slVolumeProductionCk);
        }
    }
@@ -109,8 +154,8 @@
        PageDTO<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionCkVO.class);
        List<ManagementimgVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList();
        for(ManagementimgVolumeProductionCkVO list:list2) {{
        for(ManagementimgVolumeProductionCkVO list:list2) {
            {
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
            list.setRkNumber(slVolumeProductionRk.getRkNumber());
@@ -158,7 +203,6 @@
    @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");
@@ -173,11 +217,15 @@
            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();
@@ -185,6 +233,14 @@
        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;
@@ -197,8 +253,11 @@
            inventoriesSuppliesInfoVO.setRkModel(slVolumeProductionRk.getRkModel());
            inventoriesSuppliesInfoVO.setRkId(slVolumeProductionRk.getId());
            inventoriesSuppliesInfoVO.setZkNum(slVolumeProductionRk.getRepertoryZhai());
            inventoriesSuppliesInfoVO.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
            inventoriesSuppliesInfoVO.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
            // 去除最后一位字符
            if (StringUtils.hasLength(stringBuilder.toString())){
                inventoriesSuppliesInfoVO.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1));
            }
            res.add(inventoriesSuppliesInfoVO);
        }
        slGoodsMaterialsVO.setList(res);