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