CZT
2023-11-27 c206acfaedc69c390fb67daa81bc686f58a212ef
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
package com.ld.igds.phone.service.impl;
 
import com.alibaba.fastjson.JSONObject;
import com.ld.igds.constant.OrderStatus;
import com.ld.igds.constant.OrderType;
import com.ld.igds.constant.RespCodeEnum;
import com.ld.igds.phone.constant.PhoneConstant;
import com.ld.igds.phone.dto.*;
import com.ld.igds.phone.mapper.PhoneCommonMapper;
import com.ld.igds.phone.param.ParamOrder;
import com.ld.igds.phone.param.PhoneRequest;
import com.ld.igds.phone.service.PhoneService;
import com.ld.igds.phone.util.PhoneRespUtil;
import com.ld.igds.work.CoreApplyOrderService;
import com.ld.igds.work.dto.ApplyOrderData;
import com.ld.igds.work.dto.ApplyOrderParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
 
/**
 * 工单模块-查询工单列表(包含工单记录、待审核工单)
 *
 * @author chen
 */
@Service
public class ServiceImpl5703 implements PhoneService {
 
    @Autowired
    private CoreApplyOrderService applyOrderService;
    @Autowired
    private PhoneCommonMapper phoneCommonMapper;
 
    @Override
    public String getInterfaceId() {
        return PhoneConstant.API_PHONE_5703;
    }
 
    @SuppressWarnings("unchecked")
    @Override
    public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser)
            throws Exception {
 
        //转化为对象
        ParamOrder paramer = JSONObject.parseObject(req.getData().toString(), ParamOrder.class);
 
        ApplyOrderParam param = new ApplyOrderParam();
        param.setCompanyId(authUser.getCompanyId());
 
        //说明是工单审核页面,查询所有待审核工单
        if(StringUtils.isNotEmpty(paramer.getStatus()) &&
                OrderStatus.Status_10.getCode().equals(paramer.getStatus())){
            param.setStatus(paramer.getStatus());
            param.setAuditUser("%" + authUser.getUsername() + "%");
            param.setDeptId(authUser.getDeptId());
        }else {
            //说明进入的工单记录页面,查询当前登录人的申请记录
            param.setApplyUser(authUser.getUsername());
        }
 
        List<ApplyOrderData> orderList = applyOrderService.getOrderList(param);
        if(orderList == null || orderList.isEmpty()){
            return PhoneRespUtil.error(RespCodeEnum.CODE_2000, "查询数据为空!");
        }
 
        List<DtoDept> deptList = phoneCommonMapper.getDeptList(authUser.getCompanyId(), authUser.getDeptId() + "%");
        for (ApplyOrderData applyOrderData : orderList) {
            if(StringUtils.isNotEmpty(applyOrderData.getDeptId()) && deptList.size() > 0){
                for (DtoDept dtoDept : deptList) {
                    if(dtoDept.getId().equals(applyOrderData.getDeptId())){
                        applyOrderData.setDeptId(dtoDept.getName());
                        if(StringUtils.isNotEmpty(applyOrderData.getDepotId())){
                            List<DtoDepot> depots = phoneCommonMapper.phoneListDepot(authUser.getCompanyId(), dtoDept.getId());
                            if(depots.size() > 0){
                                for (DtoDepot depot : depots) {
                                    if(depot.getDepotId().equals(applyOrderData.getDepotId())){
                                        applyOrderData.setDepotId(depot.getDepotName());
                                    }
                                }
                            }
                        }
                    }
                }
            }
            applyOrderData.setType(OrderType.getMsg(applyOrderData.getType()));
            applyOrderData.setStatus(OrderStatus.getMsg(applyOrderData.getStatus()));
        }
 
        return PhoneRespUtil.success(orderList, req);
    }
}