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/SlVolumeProductionZyServiceImpl.java |  558 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 555 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java
index 4f3a059..2ae8d7b 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java
@@ -1,10 +1,30 @@
 package com.ruoyi.management.service.impl;
 
-import com.ruoyi.management.domain.SlVolumeProductionZy;
-import com.ruoyi.management.mapper.SlVolumeProductionZyMapper;
-import com.ruoyi.management.service.SlVolumeProductionZyService;
+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.domain.R;
+import com.ruoyi.common.core.utils.page.PageDTO;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.management.domain.*;
+import com.ruoyi.management.domain.dto.*;
+import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO;
+import com.ruoyi.management.domain.vo.*;
+import com.ruoyi.management.mapper.*;
+import com.ruoyi.management.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.management.util.UUIDUtil;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +37,536 @@
 @Service
 public class SlVolumeProductionZyServiceImpl extends ServiceImpl<SlVolumeProductionZyMapper, SlVolumeProductionZy> implements SlVolumeProductionZyService {
 
+    @Resource
+    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
+    @Resource
+    private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
+    @Resource
+    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
+
+    @Resource
+    private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper;
+    @Resource
+    private SlGoodsShelfMapper slGoodsShelfMapper;
+    @Autowired
+    private SlStoreManagementService service;
+    @Override
+    public PageDTO<getVolumeProductionzyCodeVO> getVolumeProductionzyCode(VolumeProductionZygCodeQuery volumeProductionZygCodeQuery) {
+
+        SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(volumeProductionZygCodeQuery.getVolumeProductionzylId());
+
+        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
+        wrapper2.eq(SlVolumeProductionRk::getManagementId,slVolumeProductionZygl.getBmanagementId());
+        wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,volumeProductionZygCodeQuery.getStoreManagementNumber());
+        wrapper2.eq(SlVolumeProductionRk::getShelfId,volumeProductionZygCodeQuery.getShelfId());
+        wrapper2.eq( SlVolumeProductionRk::getDelFlag,0);
+        wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime);
+        List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2);
+
+        Set<Long> goodsSkuIdList = null;
+        goodsSkuIdList = page1.stream().map(SlVolumeProductionRk::getId)
+                .collect(Collectors.toSet());
+
+
+        Page<SlVolumeProductionZy> page = new Page<>(volumeProductionZygCodeQuery.getPageCurr(), volumeProductionZygCodeQuery.getPageSize());
+        LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionZy::getZyglId,volumeProductionZygCodeQuery.getVolumeProductionzylId());
+        if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){
+            wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList);
+        }
+        wrapper1.eq( SlVolumeProductionZy::getDelFlag,0);
+        wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
+        Page<SlVolumeProductionZy> page2 = this.page(page, wrapper1);
+        PageDTO<getVolumeProductionzyCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionzyCodeVO.class);
+        List<getVolumeProductionzyCodeVO> list2 = SlGoodsShelfDTO.getList();
+        for(getVolumeProductionzyCodeVO list:list2) {
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getScrkId());
+            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+            list.setIsConsume(slGoodsMaterials.getIsConsume());
+        }
+        return SlGoodsShelfDTO;
+
+    }
+
+    @Resource
+    private SlAuditService slAuditService;
+    @Resource
+    private SlAuditRecordService slAuditRecordService;
+    @Resource
+    private SlVolumeProductionZyMapper slVolumeProductionZyMapper;
+
+    @Resource
+    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
+    @Resource
+    private SlGoodsShelfService slGoodsShelfService;
+    @Resource
+    private SlStoreManagementMapper slStoreManagementMapper;
+    @Override
+    public R addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) {
+        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(addaddSlVolumeProductionZyDTO.getManagementId());
+        String directorId = slStoreManagement.getDirectorId();
+        String competentId = slStoreManagement.getCompetentId();
+        String administratorId = slStoreManagement.getAdministratorId();
+        List<String> list1 = Arrays.asList(administratorId.split(","));
+        List<String> list2 = Arrays.asList(competentId.split(","));
+        List<String> list3 = Arrays.asList(directorId.split(","));
+        List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS();
+        for (AddZYIdsDTO addZYIdsDTO : rkId) {
+            Long shelfId = addZYIdsDTO.getShelfId();
+            SlGoodsShelf byId = slGoodsShelfService.getById(shelfId);
+            if (byId!=null){
+                if (byId.getImgId() == null){
+                    return R.fail("货架名称:"+byId.getGoodsShelfName()+"未配置货架");
+                }
+            }else{
+                return R.fail("货架不存在");
+            }
+
+        }
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+        Long userid = SecurityUtils.getUserId();
+        if (addaddSlVolumeProductionZyDTO.getId()==null){
+                // 新增转移管理
+                SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl();
+                slVolumeProductionZygl.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl());
+                slVolumeProductionZygl.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization());
+                slVolumeProductionZygl.setSource(addaddSlVolumeProductionZyDTO.getSource());
+                slVolumeProductionZygl.setManagementId(addaddSlVolumeProductionZyDTO.getManagementId());
+                slVolumeProductionZygl.setBmanagementId(addaddSlVolumeProductionZyDTO.getBmanagementId());
+                slVolumeProductionZygl.setSysId(userid);
+                slVolumeProductionZygl.setStartiTime(new Date());
+            // 如果发起人是主任 主管 或 管理员
+            if (list1.contains(userid.toString())){
+                slVolumeProductionZygl.setAuditStatus(1);
+                slVolumeProductionZygl.setPresentState(2);
+            }
+            if (list2.contains(userid.toString())){
+                slVolumeProductionZygl.setAuditStatus(1);
+                slVolumeProductionZygl.setPresentState(3);
+            }
+            if (list3.contains(userid.toString())){
+                slVolumeProductionZygl.setAuditStatus(3);
+                slVolumeProductionZygl.setPresentState(4);
+            }else{
+                slVolumeProductionZygl.setAuditStatus(1);
+                slVolumeProductionZygl.setPresentState(1);
+            }
+
+            slVolumeProductionZyglMapper.insert(slVolumeProductionZygl);
+            addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId());
+            // 新增
+            for (AddZYIdsDTO m:rkId){
+                SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
+            Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId();
+            SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId);
+                SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy();
+                slVolumeProductionZy.setRkId(m.getRkId());
+                slVolumeProductionZy.setZyglId(slVolumeProductionZygl.getId());
+                slVolumeProductionZy.setState(1);
+                slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId());
+                slVolumeProductionZy.setZyNum(m.getZyNum());
+                slVolumeProductionZy.setCreateTime(new Date());
+                slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber());
+                slVolumeProductionZy.setShelfId(m.getShelfId());
+                slVolumeProductionZy.setSysId(userid);
+                if (slVolumeProductionRkgl!=null){
+                    if (slVolumeProductionRkgl.getSupplierId()!=null){
+                        slVolumeProductionZy.setSupplierId(Integer.valueOf(slVolumeProductionRkgl.getSupplierId().toString()));
+
+                    }
+                }
+                this.save(slVolumeProductionZy);
+            }
+            LambdaQueryWrapper<SlVolumeProductionZy> wrapper1 = Wrappers.lambdaQuery();
+            wrapper1.eq(SlVolumeProductionZy::getZyglId, slVolumeProductionZygl.getId());
+            wrapper1.eq(SlVolumeProductionZy::getDelFlag, 0);
+            wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
+            List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1);
+            for (SlVolumeProductionZy zy:page2){
+                SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk();
+                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(zy.getMaterialsId());
+                if (slGoodsMaterials!=null){
+                    slVolumeProductionRk.setRkNumber(slGoodsMaterials.getGoodsMaterialsNo()+"-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2));
+                }
+                SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId());
+                SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(slVolumeProductionRk1.getVolumeProductionRkglId());
+                slVolumeProductionRk.setSupplierId(slVolumeProductionRkgl.getSupplierId());
+                slVolumeProductionRk.setMaterialsId(zy.getMaterialsId());
+                slVolumeProductionRk.setStoreManagementNumber(zy.getStoreManagementNumber());
+                slVolumeProductionRk.setManagementId(slVolumeProductionZygl.getBmanagementId());
+                slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum()));
+                SlVolumeProductionRk slVolumeProductionRk2 = slVolumeProductionRkMapper.selectById(zy.getRkId());
+                if (slVolumeProductionRk2!=null){
+                    slVolumeProductionRk.setRkModel(slVolumeProductionRk2.getRkModel());
+                    slVolumeProductionRk.setRkPice(slVolumeProductionRk2.getRkPice());
+                }
+                slVolumeProductionRk.setShelfId(zy.getShelfId().toString());
+                slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
+                slVolumeProductionRk.setCreateTime(new Date());
+                slVolumeProductionRkMapper.insert(slVolumeProductionRk);
+                zy.setScrkId(slVolumeProductionRk.getId());
+                slVolumeProductionZyMapper.updateById(zy);
+            }
+        }else{
+            // 修改
+            SlVolumeProductionZygl byId = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId());
+            if (addaddSlVolumeProductionZyDTO.getSource()!=null){
+                byId.setSource(addaddSlVolumeProductionZyDTO.getSource());
+            }
+            if (addaddSlVolumeProductionZyDTO.getAttachmentUrl()!=null){
+                byId.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl());
+            }
+            if (addaddSlVolumeProductionZyDTO.getAuthorization()!=null){
+                byId.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization());
+            }
+            // 如果发起人是主任 主管 或 管理员
+            if (list1.contains(userid.toString())){
+                byId.setAuditStatus(1);
+                byId.setPresentState(2);
+            }
+            if (list2.contains(userid.toString())){
+                byId.setAuditStatus(1);
+                byId.setPresentState(3);
+            }
+            if (list3.contains(userid.toString())){
+                byId.setAuditStatus(3);
+                byId.setPresentState(4);
+            }else{
+                byId.setAuditStatus(1);
+                byId.setPresentState(1);
+            }
+            slVolumeProductionZyglMapper.updateById(byId);
+            QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>();
+            slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId());
+            this.remove(slVolumeProductionZyQueryWrapper);
+            for (AddZYIdsDTO m:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){
+
+                SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
+                slVolumeProductionRk.setRkPice(slVolumeProductionRk.getRkPice());
+                // todo 目前还不知道转移管理存不存供应商id
+                Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId();
+                SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId);
+                SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy();
+                slVolumeProductionZy.setRkId(m.getRkId());
+                slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getId());
+                slVolumeProductionZy.setState(1);
+                slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId());
+                slVolumeProductionZy.setZyNum(m.getZyNum());
+                slVolumeProductionZy.setCreateTime(new Date());
+                slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber());
+                slVolumeProductionZy.setShelfId(m.getShelfId());
+                slVolumeProductionZy.setSysId(userid);
+                slVolumeProductionZy.setRkId(m.getRkId());
+
+                SlVolumeProductionRk slVolumeProductionRk1=new SlVolumeProductionRk();
+                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+                if (slGoodsMaterials!=null){
+                    slVolumeProductionRk1.setRkNumber(slGoodsMaterials.getGoodsMaterialsNo()+"-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2));
+                }
+                slVolumeProductionRk1.setMaterialsId(slVolumeProductionRk.getMaterialsId());
+                slVolumeProductionRk1.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
+                slVolumeProductionRk1.setManagementId(byId.getBmanagementId());
+                slVolumeProductionRk1.setRkNum(Long.valueOf(m.getZyNum()));
+                SlVolumeProductionRk slVolumeProductionRk2 = slVolumeProductionRkMapper.selectById(m.getRkId());
+                if (slVolumeProductionRk2!=null){
+                    slVolumeProductionRk1.setRkModel(slVolumeProductionRk2.getRkModel());
+                    slVolumeProductionRk1.setRkPice(slVolumeProductionRk2.getRkPice());
+                }
+                slVolumeProductionRk1.setShelfId(slVolumeProductionRk.getShelfId());
+                slVolumeProductionRk1.setRepertoryZhai(Long.valueOf(m.getZyNum()));
+                slVolumeProductionRk1.setCreateTime(new Date());
+                slVolumeProductionRkMapper.insert(slVolumeProductionRk1);
+                slVolumeProductionZy.setScrkId(slVolumeProductionRk1.getId());
+                slVolumeProductionZyMapper.updateById(slVolumeProductionZy);
+
+
+                if (slVolumeProductionRkgl!=null){
+                    if (slVolumeProductionRkgl.getSupplierId()!=null){
+                        slVolumeProductionZy.setSupplierId(Integer.valueOf(slVolumeProductionRkgl.getSupplierId().toString()));
+                    }
+                }
+                this.save(slVolumeProductionZy);
+//                slVolumeProductionZyQueryWrapper.eq("rk_id",z.getRkId());
+//                slVolumeProductionZyQueryWrapper.eq("del_flag","0");
+//                slVolumeProductionZyQueryWrapper.eq("shelf_id",z.getShelfId());
+//                slVolumeProductionZyQueryWrapper.eq("store_management_number",z.getStoreManagementNumber());
+
+//                SlVolumeProductionZy one = this.getOne(slVolumeProductionZyQueryWrapper);
+//                if (one!=null){
+//                    one.setZyNum(z.getZyNum());
+//
+//                }
+//                this.updateById(one);
+            }
+        }
+        // 添加/修改审核记录
+        LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
+        if (addaddSlVolumeProductionZyDTO.getId()!=null){
+            wrapper.eq(SlAudit::getRkId,addaddSlVolumeProductionZyDTO.getId());
+        }
+        wrapper.eq(SlAudit::getType,3);
+        wrapper.eq( SlAudit::getDelFlag,0);
+        wrapper.orderByDesc(SlAudit::getCreateTime);
+        SlAudit page1 = slAuditService.getOne(wrapper);
+        if (page1!=null){
+            LambdaQueryWrapper<SlAuditRecord> wrapper1= Wrappers.lambdaQuery();
+            wrapper1.eq(SlAuditRecord::getAuditId,page1.getId());
+            List<SlAuditRecord> slAuditRecords = slAuditRecordService.list(wrapper1);
+            for (SlAuditRecord lAuditRecord:slAuditRecords){
+                slAuditRecordService.removeById(lAuditRecord.getId());
+            }
+            slAuditService.removeById(page1);
+        }
+        SlAudit slAudit=new SlAudit();
+        slAudit.setType(3);
+        slAudit.setState(1);
+        slAudit.setCreateTime(new Date());
+        slAudit.setRkId(addaddSlVolumeProductionZyDTO.getId());
+        if (slAudit.getType()==3){
+            SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId());
+            slAudit.setSysId(slVolumeProductionZygl.getSysId());
+            slAudit.setManagementId(slVolumeProductionZygl.getManagementId());
+            slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId());
+            slVolumeProductionZygl.setPresentState(1);
+            slVolumeProductionZygl.setAuditStatus(1);
+            slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+            SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId());
+            slAudit.setShenhId(byId.getAdministratorId());
+            slAuditService.save(slAudit);
+            if (list3.contains(userid.toString())){
+                slAudit.setState(4);
+                slAuditService.saveOrUpdate(slAudit);
+                slVolumeProductionZygl.setAuditStatus(4);
+                slVolumeProductionZygl.setPresentState(3);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 主任发起 主管和管理员默认审核通过
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(2);
+                slAuditRecord4.setShenhTime(new Date());
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord4);
+
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord2);
+            }else if (list2.contains(userid.toString())){
+                slAudit.setState(3);
+                slAuditService.saveOrUpdate(slAudit);
+                slVolumeProductionZygl.setAuditStatus(3);
+                slVolumeProductionZygl.setPresentState(1);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(2);
+                slAuditRecord3.setShenhTime(new Date());
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord4);
+
+            }else if (list1.contains(userid.toString())){
+                // 如果是管理员
+                slAudit.setState(2);
+                slAuditService.saveOrUpdate(slAudit);
+                slVolumeProductionZygl.setAuditStatus(2);
+                slVolumeProductionZygl.setPresentState(1);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(2);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord4);
+            }else{
+                slAuditService.saveOrUpdate(slAudit);
+                slVolumeProductionZygl.setAuditStatus(1);
+                slVolumeProductionZygl.setPresentState(1);
+                slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl);
+                // 如果是主管
+                SlAuditRecord slAuditRecord3=new SlAuditRecord();
+                slAuditRecord3.setAuditId(slAudit.getId());
+                slAuditRecord3.setShenhId(byId.getCompetentId());
+                slAuditRecord3.setType(2);
+                slAuditRecord3.setState(1);
+                slAuditRecord3.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord3);
+
+                SlAuditRecord slAuditRecord2=new SlAuditRecord();
+                slAuditRecord2.setAuditId(slAudit.getId());
+                slAuditRecord2.setShenhId(byId.getAdministratorId());
+                slAuditRecord2.setType(1);
+                slAuditRecord2.setState(1);
+                slAuditRecord2.setShenhTime(new Date());
+                slAuditRecord2.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord2);
+
+                SlAuditRecord slAuditRecord4=new SlAuditRecord();
+                slAuditRecord4.setAuditId(slAudit.getId());
+                slAuditRecord4.setShenhId(byId.getDirectorId());
+                slAuditRecord4.setType(3);
+                slAuditRecord4.setState(1);
+                slAuditRecord4.setCreateTime(new Date());
+                slAuditRecordService.save(slAuditRecord4);
+            }
+        }
+        return R.ok();
+    }
+    public static String getLetter(int num) {
+        String[] str = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
+        // 如果num大于26 那么往后叠加对应的字母 比如27 那么就是AA
+        if (num > 26) {
+            int a = num / 26;
+            int b = num % 26;
+            if (b == 0) {
+                a = a - 1;
+                b = 26;
+            }
+            return getLetter(a) + getLetter(b);
+        }
+
+        return str[num - 1];
+    }
+    @Resource
+    private SlStoreManagementService slStoreManagementService;
+    @Override
+    public void updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO) {
+        for (UpdaddSlVolumeProductionZyDTO z:updaddSlVolumeProductionZyDTO){
+            SlVolumeProductionZy byId = this.getById(z.getId());
+            byId.setZyNum(z.getZyNum());
+            this.updateById(byId);
+        }
+
+    }
+
+    @Override
+    public PageDTO<ManagementimgVolumeProductionZyVO> getSlVolumeProductionZyList(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) {
+        SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
+        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
+        wrapper2.eq(SlVolumeProductionRk::getManagementId,slVolumeProductionZygl.getBmanagementId());
+        wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber());
+        wrapper2.eq(SlVolumeProductionRk::getShelfId,managementimgVolumeProductionZyQuery.getShelfId());
+        wrapper2.eq( SlVolumeProductionRk::getDelFlag,0);
+        wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime);
+        List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2);
+
+        Set<Long> goodsSkuIdList = null;
+        goodsSkuIdList = page1.stream().map(SlVolumeProductionRk::getId)
+                .collect(Collectors.toSet());
+
+
+        Page<SlVolumeProductionZy> page = new Page<>(managementimgVolumeProductionZyQuery.getPageCurr(), managementimgVolumeProductionZyQuery.getPageSize());
+        LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionZy::getZyglId,managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
+        if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){
+            wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList);
+        }
+        wrapper1.eq( SlVolumeProductionZy::getDelFlag,0);
+        wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
+        Page<SlVolumeProductionZy> page2 = this.page(page, wrapper1);
+        PageDTO<ManagementimgVolumeProductionZyVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionZyVO.class);
+        List<ManagementimgVolumeProductionZyVO> list2 = SlGoodsShelfDTO.getList();
+        for(ManagementimgVolumeProductionZyVO 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());
+            if(list.getScrkId()!=null){
+                SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(list.getScrkId());
+                list.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber());
+                list.setRkNumber(slVolumeProductionRk1.getRkNumber());
+            }
+        }
+        return SlGoodsShelfDTO;
+    }
+
+    @Override
+    public NumberAndShelfVO getNumberAndShelfByManagementId(QueryDTO dto) {
+        NumberAndShelfVO numberAndShelfVO = new NumberAndShelfVO();
+        SlStoreManagement byId = service.getById(dto.getManagementId());
+        List<String> number = new ArrayList<>();
+        for (Integer i = 1; i <= byId.getStoreManagementNumber(); i++) {
+            switch (i){
+                case 1:
+                    number.add("一层");
+                    break;
+                case 2:
+                    number.add("二层");
+                    break;
+                case 3:
+                    number.add("三层");
+                    break;
+            }
+        }
+        numberAndShelfVO.setNumber(number);
+        if (dto.getManagementNumber() == null){
+            dto.setManagementNumber(1);
+        }
+        QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>()
+                .eq("del_flag", "0")
+                .eq("store_management_id", dto.getManagementId())
+                .eq("store_management_number",dto.getManagementNumber());
+        List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq);
+        numberAndShelfVO.setGoodsShelfList(slGoodsShelves);
+        return numberAndShelfVO;
+    }
 }

--
Gitblit v1.7.1