package doumeemes.service.ext.impl; 
 | 
  
 | 
import com.github.pagehelper.PageHelper; 
 | 
import com.github.pagehelper.PageInfo; 
 | 
import doumeemes.core.model.LoginUserInfo; 
 | 
import doumeemes.core.model.PageData; 
 | 
import doumeemes.core.model.PageWrap; 
 | 
import doumeemes.core.utils.Constants; 
 | 
import doumeemes.dao.business.model.RouteProcedure; 
 | 
import doumeemes.dao.ext.RouteExtMapper; 
 | 
import doumeemes.dao.ext.dto.QueryDepartmentExtDTO; 
 | 
import doumeemes.dao.ext.dto.QueryRouteExtDTO; 
 | 
import doumeemes.dao.ext.vo.DepartmentExtListVO; 
 | 
import doumeemes.dao.ext.vo.RouteExtListVO; 
 | 
import doumeemes.service.business.RouteProcedureService; 
 | 
import doumeemes.service.ext.RouteExtService; 
 | 
import org.apache.shiro.SecurityUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.stream.Collectors; 
 | 
  
 | 
/** 
 | 
 * 工艺路线信息Service实现 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2022/04/20 10:57 
 | 
 */ 
 | 
@Service 
 | 
public class RouteExtServiceImpl implements RouteExtService { 
 | 
  
 | 
    @Autowired 
 | 
    private RouteExtMapper routeExtMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private RouteProcedureService routeProcedureService; 
 | 
  
 | 
    @Autowired 
 | 
    private DepartmentExtServiceImpl departmentExtServiceimpl; 
 | 
  
 | 
    @Override 
 | 
    public PageData<RouteExtListVO> findPage(PageWrap<QueryRouteExtDTO> pageWrap) { 
 | 
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
 | 
        pageWrap.getModel().setDeleted(Constants.ZERO); 
 | 
        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId()); 
 | 
  
 | 
        QueryDepartmentExtDTO querydepart=new QueryDepartmentExtDTO(); 
 | 
        querydepart.setType(Constants.ONE); 
 | 
  
 | 
        List<DepartmentExtListVO> departList= departmentExtServiceimpl.getDepartmentListByConditon(querydepart); 
 | 
        if(departList!=null&&departList.size()>0){ 
 | 
            List<Integer> departIds =departList.stream().map(DepartmentExtListVO::getId).collect(Collectors.toList()); 
 | 
            pageWrap.getModel().setDepartIds(departIds); 
 | 
        } 
 | 
  
 | 
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); 
 | 
  
 | 
  
 | 
  
 | 
        List<RouteExtListVO> result = routeExtMapper.selectList(pageWrap.getModel()); 
 | 
        for(int i=0;i<result.size();i++){ 
 | 
            RouteExtListVO route=result.get(i); 
 | 
            RouteProcedure rp=new RouteProcedure(); 
 | 
            rp.setRouteId(route.getId()); 
 | 
            rp.setDeleted(Constants.ZERO); 
 | 
            List<RouteProcedure>list=   routeProcedureService.findList(rp); 
 | 
            if(list!=null&&list.size()>0){ 
 | 
             route.setProduceNum(list.size()); 
 | 
            }else{ 
 | 
                route.setProduceNum(0); 
 | 
            } 
 | 
        } 
 | 
        return PageData.from(new PageInfo<>(result)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @Override 
 | 
    public List<RouteExtListVO> getAllListRoute(QueryRouteExtDTO pageWrap) { 
 | 
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
 | 
        pageWrap.setDeleted(Constants.ZERO); 
 | 
        pageWrap.setStatus(Constants.ONE); 
 | 
        pageWrap.setRootDepartId(user.getRootDepartment().getId()); 
 | 
        List<RouteExtListVO> result = routeExtMapper.selectList(pageWrap); 
 | 
        for(int i=0;i<result.size();i++){ 
 | 
            RouteExtListVO route=result.get(i); 
 | 
            RouteProcedure rp=new RouteProcedure(); 
 | 
            rp.setRouteId(route.getId()); 
 | 
            rp.setDeleted(Constants.ZERO); 
 | 
            List<RouteProcedure>list=   routeProcedureService.findList(rp); 
 | 
            if(list!=null&&list.size()>0){ 
 | 
                route.setProduceNum(list.size()); 
 | 
            }else{ 
 | 
                route.setProduceNum(0); 
 | 
            } 
 | 
        } 
 | 
        return result; 
 | 
    } 
 | 
} 
 |