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 findPage(PageWrap 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 departList= departmentExtServiceimpl.getDepartmentListByConditon(querydepart); if(departList.size()>0){ List departIds =departList.stream().map(DepartmentExtListVO::getId).collect(Collectors.toList()); pageWrap.getModel().setDepartIds(departIds); } PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); List 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 wList =workorderCheckAttrExtMapper.selectList(p); for(CheckAttrExtListVO model : result){ model.setWmodel(getWmodelFromList(wList,model.getId())); } } return PageData.from(new PageInfo<>(result)); } private WorkorderCheckAttrExtListVO getWmodelFromList(List wList, Integer id) { if(wList!=null){ for(WorkorderCheckAttrExtListVO t :wList){ if(Constants.equalsInteger(t.getAttrId(),id)){ return t; } } } return null; } @Override public ApiResponse> 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 result = checkAttrExtMapper.selectList(query); return ApiResponse.success(result); } }