lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.java
@@ -1,10 +1,10 @@
package org.jeecg.modules.dnc.service.impl;
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.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.dnc.entity.*;
import org.jeecg.modules.dnc.exception.ExceptionCast;
@@ -21,10 +21,7 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.*;
@Service
public class ProcessSpecVersionServiceImpl extends ServiceImpl<ProcessSpecVersionMapper, ProcessSpecVersion> implements IProcessSpecVersionService{
@@ -43,6 +40,10 @@
    private IProcessSpecVersionPermissionService processSpecVersionPermissionService;
    @Autowired
    private IProcessSpecVersionDepartmentService processSpecVersionDepartmentService;
    @Autowired
    private IProductMixService productMixService;
    @Autowired
    private IWorkStepService workStepService;
    @Autowired
    private IProductPermissionService productPermissionService;
    /**
@@ -149,12 +150,17 @@
        if (!b) {
            ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR);
        }
        //添加结构树
        ProductMix productMix = new ProductMix(Long.parseLong(ProcessSpecVersion.getId()),Long.parseLong(ProcessSpecVersion.getPartsId())
                ,ProcessSpecVersion.getProcessSpecVersionName(),
                ProcessSpecVersion.getProcessSpecVersionCode(),4,new Date());
        productMixService.save(productMix);
        //添加用户权限
        PermissionStreamNew stream = new PermissionStreamNew();
        stream.setBusinessId(ProcessSpecVersion.getId());
        stream.setBusinessType("4");
        stream.setUserId(userId);
        return permissionStreamNewService.save(stream);
        return permissionStreamNewService.addPermissionStreamNew(stream);
    }
    /**
@@ -179,6 +185,11 @@
        processSpecVersion.setComponentId(null);
        processSpecVersion.setPartsId(null);
        boolean b = super.updateById(processSpecVersion);
        //同步修改结构树
        ProductMix productMix = productMixService.getById(Long.parseLong(id));
        productMix.setName(processSpecVersion.getProcessSpecVersionName());
        productMix.setCode(processSpecVersion.getProcessSpecVersionCode());
        productMixService.updateById(productMix);
        if(!b)
            return false;
        ProcessSpecVersionPermission permission = processSpecVersionPermissionService.getByPsvIdAndUserId(id, userId);
@@ -212,7 +223,7 @@
            ExceptionCast.cast(PartsInfoCode.PARTS_NOT_EXIST);
        List<ProcessStream> processStreams = processStreamService.findBypsvId(id);
        if(processStreams!= null &&!processStreams.isEmpty())
            ExceptionCast.cast(PartsInfoCode.PARTS_PROCESS_EXIST);
            ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_PROCESS_EXIST);
        boolean b = processSpecVersionPermissionService.deleteByPsvId(processSpecVersion.getId());
        if(!b)
            ExceptionCast.cast(CommonCode.FAIL);
@@ -224,6 +235,9 @@
            ExceptionCast.cast(CommonCode.FAIL);
        b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(processSpecVersion.getId(),"4","1");
        if(!b)
            ExceptionCast.cast(CommonCode.FAIL);
        b = productMixService.removeById(processSpecVersion.getId());
        if (!b)
            ExceptionCast.cast(CommonCode.FAIL);
        return super.removeById(processSpecVersion.getId());
    }
@@ -430,4 +444,15 @@
        return true;
    }
    /**
     * 根据工艺规程id查询,下级工序工步数量
     * @param processSpecId
     * @return
     */
    @Override
    public Result<?> getProcessSpecVersionCount(String processSpecId){
        List<ProcessStream> list = processStreamService.findBypsvId(processSpecId);
        List<WorkStep> workStepList=workStepService.list(new LambdaQueryWrapper<WorkStep>().eq(WorkStep::getPsvId,processSpecId));
        return null;
    }
}