jiangping
2023-08-16 fb65ffe3606482e15bcdf1fd5adfb1acb1b8e846
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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);
    }
}