| package doumeemes.service.ext.impl; | 
|   | 
| import com.github.pagehelper.PageHelper; | 
| import com.github.pagehelper.PageInfo; | 
| import doumeemes.core.constants.ResponseStatus; | 
| import doumeemes.core.exception.BusinessException; | 
| import doumeemes.core.model.ApiResponse; | 
| 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.Workorder; | 
| import doumeemes.dao.ext.CheckAttrExtMapper; | 
| import doumeemes.dao.ext.WorkorderCheckAttrExtMapper; | 
| import doumeemes.dao.ext.WorkorderExtMapper; | 
| import doumeemes.dao.ext.dto.QueryCheckAttrExtDTO; | 
| import doumeemes.dao.ext.dto.QueryDepartmentExtDTO; | 
| import doumeemes.dao.ext.dto.QueryWorkorderCheckAttrExtDTO; | 
| import doumeemes.dao.ext.vo.CheckAttrExtListVO; | 
| import doumeemes.dao.ext.vo.DepartmentExtListVO; | 
| import doumeemes.dao.ext.vo.WorkorderCheckAttrExtListVO; | 
| import doumeemes.service.business.impl.WorkorderServiceImpl; | 
| import doumeemes.service.ext.CheckAttrExtService; | 
| 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/05/10 09:30 | 
|  */ | 
| @Service | 
| public class CheckAttrExtServiceImpl implements CheckAttrExtService { | 
|   | 
|     @Autowired | 
|     private WorkorderCheckAttrExtMapper workorderCheckAttrExtMapper; | 
|     @Autowired | 
|     private CheckAttrExtMapper checkAttrExtMapper; | 
|     @Autowired | 
|     private WorkorderServiceImpl workorderServiceimpl; | 
|   | 
|     @Autowired | 
|     private WorkorderExtMapper workorderExtMapper; | 
|   | 
|   | 
|     @Autowired | 
|     private DepartmentExtServiceImpl departmentExtServiceimpl; | 
|     @Override | 
|     public PageData<CheckAttrExtListVO> findPage(PageWrap<QueryCheckAttrExtDTO> pageWrap) { | 
|         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|         if( pageWrap.getModel().getWorkOrderID() != null){ | 
|             Workorder mp = new Workorder(); | 
|             mp.setDeleted(Constants.ZERO); | 
|             mp.setId(pageWrap.getModel().getWorkOrderID()); | 
|             mp.setRootDepartId(user.getRootDepartment().getId()); | 
|             mp = workorderExtMapper.selectOne(mp); | 
|             if(mp== null){ | 
|                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,工单记录不存在!"); | 
|             } | 
|             pageWrap.getModel().setProcedureId(mp.getProcedureId()); | 
|         } | 
|         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.size()>0){ | 
|             List<Integer> departIds =departList.stream().map(DepartmentExtListVO::getId).collect(Collectors.toList()); | 
|             pageWrap.getModel().setDepartIds(departIds); | 
|         } | 
|   | 
|         PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); | 
|   | 
|   | 
|         List<CheckAttrExtListVO> result = checkAttrExtMapper.selectList(pageWrap.getModel()); | 
|         if(result!=null && result.size()>0 && pageWrap.getModel().getWorkOrderID()!=null){ | 
|             QueryWorkorderCheckAttrExtDTO p = new QueryWorkorderCheckAttrExtDTO(); | 
|             p.setWorkorderId(pageWrap.getModel().getWorkOrderID()); | 
|             p.setDeleted(Constants.ZERO); | 
|             List<WorkorderCheckAttrExtListVO>  wList =workorderCheckAttrExtMapper.selectList(p); | 
|             for(CheckAttrExtListVO model : result){ | 
|                 model.setWmodel(getWmodelFromList(wList,model.getId())); | 
|             } | 
|         } | 
|         return PageData.from(new PageInfo<>(result)); | 
|     } | 
|   | 
|     private WorkorderCheckAttrExtListVO getWmodelFromList(List<WorkorderCheckAttrExtListVO> wList, Integer id) { | 
|         if(wList!=null){ | 
|             for(WorkorderCheckAttrExtListVO t :wList){ | 
|                 if(Constants.equalsInteger(t.getAttrId(),id)){ | 
|                     return  t; | 
|                 } | 
|             } | 
|         } | 
|         return  null; | 
|     } | 
|   | 
|     @Override | 
|     public ApiResponse<List<CheckAttrExtListVO>> getListByCondition(QueryCheckAttrExtDTO query ) { | 
|         if(query.getWorkOrderID()!=null){ | 
|             Workorder workorder= workorderServiceimpl.findById(query.getWorkOrderID()); | 
|             if(workorder!=null){ | 
|                 query.setProcedureId(workorder.getProcedureId()); | 
|             }else{ | 
|                // return ApiResponse.failed("工单不存在"); | 
|             } | 
|         }else{ | 
|           //  return ApiResponse.failed("参数错误"); | 
|         } | 
|         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); | 
|         query.setDeleted(Constants.ZERO); | 
|         query.setRootDepartId(user.getRootDepartment().getId()); | 
|         List<CheckAttrExtListVO> result = checkAttrExtMapper.selectList(query); | 
|         return ApiResponse.success(result); | 
|     } | 
| } |