无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlAuditService;
import com.ruoyi.management.service.SlVolumeProductionZyglService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.SysUser;
@@ -43,9 +44,6 @@
    private SlStoreManagementMapper slStoreManagementMapper;
    @Resource
    private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper;
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
@@ -56,30 +54,68 @@
    @Resource
    private SlVolumeProductionZyMapper slVolumeProductionZyMapper;
    @Resource
    private SlVolumeProductionCkMapper slVolumeProductionCkMapper;
    @Resource
    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
    @Resource
    private SlAuditService slAuditService;
    @Override
    public PageDTO<VolumeProductionzZyglVO> getVolumeProductionzZyglList(SlVolumeProductionZyQuery slVolumeProductionZyQuery) {
        Long userId = SecurityUtils.getUserId();
        List<Long> managementIds = new ArrayList<>();
        List<SlStoreManagement> slStoreManagements = slStoreManagementMapper.selectList(new LambdaQueryWrapper<SlStoreManagement>()
                .eq(SlStoreManagement::getDelFlag, "0"));
        for (SlStoreManagement slStoreManagement : slStoreManagements) {
            List<String> list = Arrays.asList(slStoreManagement.getAdministratorId().split(","));
            List<String> list1 = Arrays.asList(slStoreManagement.getCompetentId().split(","));
            List<String> list2 = Arrays.asList(slStoreManagement.getDirectorId().split(","));
            if (list.contains(userId.toString()) || list1.contains(userId.toString()) || list2.contains(userId.toString())){
                managementIds.add(slStoreManagement.getId());
            }
        }
        LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery();
        Page<SlVolumeProductionZygl> page = new Page<>(slVolumeProductionZyQuery.getPageCurr(), slVolumeProductionZyQuery.getPageSize());
        getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery();
        getVolume.setSupplierPhone(slVolumeProductionZyQuery.getSupplierPhone());
        getVolume.setSupplierName(slVolumeProductionZyQuery.getSupplierName());
        getVolume.setSupplierPhone(slVolumeProductionZyQuery.getPhonenumber());
        getVolume.setSupplierName(slVolumeProductionZyQuery.getNickName());
        SysUser data2 = sysUserClient.getSysUser(userId).getData();
        if (data2!=null){
            if (!data2.getUserType().equals("00")){
                switch (data2.getRoleType()){
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                        if (!managementIds.isEmpty()){
                            wrapper1.in(SlVolumeProductionZygl::getManagementId,managementIds);
                        }else{
                            return PageDTO.empty(page);
                        }
                        break;
                }
            }
        }
        List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData();
        Set<Long> goodsSkuIdList = null;
        goodsSkuIdList = data1.stream().map(SysUser::getUserId)
                .collect(Collectors.toSet());
        LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery();
        if (slVolumeProductionZyQuery.getPresentState()!=null){
            wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState());
        }
        if (slVolumeProductionZyQuery.getAuditStatus()!=null){
            wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus());
        }
        if (goodsSkuIdList.size()>0){
            wrapper1.in(SlVolumeProductionZygl::getSysId,goodsSkuIdList);
        }else{
            Page<SlVolumeProductionZygl> page2 = new Page<SlVolumeProductionZygl>();
            PageDTO<VolumeProductionzZyglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionzZyglVO .class);
            return SlGoodsShelfDTO;
        }
        wrapper1.eq( SlVolumeProductionZygl::getDelFlag,0);
//        wrapper1.ne(SlVolumeProductionZygl::getAuditStatus,7);
@@ -350,6 +386,11 @@
    @Override
    public void zy(Long id,String authorizationUrl) {
        SlAudit one = slAuditService.lambdaQuery().eq(SlAudit::getType, 3).eq(SlAudit::getRkId, id).eq(SlAudit::getDelFlag, "0").one();
        if (one!=null){
            one.setState(6);
            slAuditService.updateById(one);
        }
        SlVolumeProductionZygl byId = this.getById(id);
        byId.setAuthorizationUrl(authorizationUrl);
        byId.setAuditStatus(6);
@@ -362,7 +403,6 @@
        wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
        List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1);
        // 新入库ids
        List<Long> collect = page2.stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList());
        for (SlVolumeProductionZy zy : page2) {
            // 将入库记录确认
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(zy.getScrkId());
@@ -385,7 +425,6 @@
                Long re1=repertoryZhai+Long.valueOf(zy.getZyNum());
                managementGoodsMaterials.setRepertorySum(re);
                managementGoodsMaterials.setRepertoryZhai(re1);
                managementGoodsMaterials.setRepertoryChu(0);
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
            }else{
                ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
@@ -393,26 +432,33 @@
                managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId());
                managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setRepertoryChu(0);
                managementGoodsMaterials1.setCreateTime(new Date());
                managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
            }
            // 给转移仓库减去库存数量
            // 给转出仓库减去库存
            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper3 = Wrappers.lambdaQuery();
            wrapper3.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId());
            wrapper3.eq(ManagementGoodsMaterials::getManagementId,byId.getManagementId());
            wrapper3.eq(ManagementGoodsMaterials::getDelFlag, 0);
            ManagementGoodsMaterials managementGoodsMaterials1 = managementGoodsMaterialsMapper.selectOne(wrapper3);
            if (managementGoodsMaterials1!=null){
                Long repertorySum = managementGoodsMaterials1.getRepertorySum();
                Long repertoryZhai = managementGoodsMaterials1.getRepertoryZhai();
            ManagementGoodsMaterials managementGoodsMaterials3 = managementGoodsMaterialsMapper.selectOne(wrapper3);
            if (managementGoodsMaterials3!=null){
                Long repertorySum = managementGoodsMaterials3.getRepertorySum();
                Long repertoryZhai = managementGoodsMaterials3.getRepertoryZhai();
                Long re=repertorySum-Long.valueOf(zy.getZyNum());
                Long re1=repertoryZhai-Long.valueOf(zy.getZyNum());
//                managementGoodsMaterials1.setRepertorySum(re);
                managementGoodsMaterials1.setRepertoryZhai(re1);
                managementGoodsMaterials1.setRepertoryChu(managementGoodsMaterials1.getRepertoryChu()+zy.getZyNum());
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials1);
                managementGoodsMaterials3.setRepertorySum(re);
                managementGoodsMaterials3.setRepertoryZhai(re1);
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials3);
            }else{
                ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
                managementGoodsMaterials1.setManagementId(byId.getBmanagementId());
                managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId());
                managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setCreateTime(new Date());
                managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
            }
        }
    }