无关风月
2024-08-02 7bbce72b03664f56400fe7e70e8dcd4ea737a8da
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java
@@ -5,11 +5,14 @@
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.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.SlAuditRecordService;
import com.ruoyi.management.service.SlAuditService;
import com.ruoyi.management.service.SlStoreManagementService;
import com.ruoyi.management.service.SlVolumeProductionZyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,6 +24,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -38,6 +42,8 @@
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
    private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
@@ -86,21 +92,131 @@
    }
    @Resource
    private SlAuditService slAuditService;
    @Resource
    private SlAuditRecordService slAuditRecordService;
    @Override
    public void addSlVolumeProductionZy(AddaddSlVolumeProductionZyDTO addaddSlVolumeProductionZyDTO) {
        List<Long> rkId = addaddSlVolumeProductionZyDTO.getRkId();
        for (Long m:rkId){
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m);
            SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy();
            slVolumeProductionZy.setRkId(m);
            slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id());
            slVolumeProductionZy.setState(1);
            slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId());
            slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id());
            this.save(slVolumeProductionZy);
    public void addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) {
        if (addaddSlVolumeProductionZyDTO.getId()==null){
            // 新增转移管理
                Long userid = SecurityUtils.getUserId();
                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());
                slVolumeProductionZygl.setAuditStatus(1);
                slVolumeProductionZygl.setPresentState(1);
            slVolumeProductionZyglMapper.insert(slVolumeProductionZygl);
            addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId());
            // 新增
            List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS();
            for (AddZYIdsDTO m:rkId){
                SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
                // todo 目前还不知道转移管理存不存供应商id
//            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.setRkId(m.getRkId());
//            slVolumeProductionZy.setSupplierId(slVolumeProductionRkgl.getSupplierId());
                this.save(slVolumeProductionZy);
            }
        }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());
            }
            slVolumeProductionZyglMapper.updateById(byId);
            for (AddZYIdsDTO z:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){
                QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>();
                slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId());
                slVolumeProductionZyQueryWrapper.eq("rk_id",z.getRkId());
                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());
            SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId());
            slAudit.setShenhId(byId.getAdministratorId());
            slAuditService.save(slAudit);
            SlAuditRecord slAuditRecord=new SlAuditRecord();
            slAuditRecord.setAuditId(slAudit.getId());
            slAuditRecord.setShenhId(byId.getAdministratorId());
            slAuditRecord.setType(1);
            slAuditRecord.setState(1);
            slAuditRecord.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord);
            SlAuditRecord slAuditRecord1=new SlAuditRecord();
            slAuditRecord1.setAuditId(slAudit.getId());
            slAuditRecord1.setShenhId(byId.getCompetentId());
            slAuditRecord1.setType(2);
            slAuditRecord1.setState(1);
            slAuditRecord1.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord1);
            SlAuditRecord slAuditRecord2=new SlAuditRecord();
            slAuditRecord2.setAuditId(slAudit.getId());
            slAuditRecord2.setShenhId(byId.getDirectorId());
            slAuditRecord2.setType(3);
            slAuditRecord2.setState(1);
            slAuditRecord2.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord2);
        }
    }
    @Resource
    private SlStoreManagementService slStoreManagementService;
    @Override
    public void updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO) {
        for (UpdaddSlVolumeProductionZyDTO z:updaddSlVolumeProductionZyDTO){