| 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; | 
|     } | 
| } |