TInspectionPlanServiceImpl.java 8.97 KB
Newer Older
1 2
package com.zehong.system.service.impl;

3
import com.github.pagehelper.PageInfo;
4
import com.zehong.common.core.domain.entity.SysDictData;
5
import com.zehong.common.core.domain.entity.SysUser;
6
import com.zehong.common.utils.DateUtils;
7
import com.zehong.common.utils.StringUtils;
8
import com.zehong.system.domain.*;
9
import com.zehong.system.domain.form.InspectionPlanForm;
10
import com.zehong.system.domain.vo.InspectionDataVo;
11
import com.zehong.system.domain.vo.InspectionPlanVo;
12
import com.zehong.system.mapper.*;
13
import com.zehong.system.service.ISysDictTypeService;
14
import com.zehong.system.service.ITInspectionPlanService;
15
import org.springframework.beans.BeanUtils;
16 17
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
18 19 20 21 22

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
23 24 25 26 27 28 29 30 31 32 33 34

/**
 * 巡检计划Service业务层处理
 * 
 * @author zehong
 * @date 2021-07-21
 */
@Service
public class TInspectionPlanServiceImpl implements ITInspectionPlanService 
{
    @Autowired
    private TInspectionPlanMapper tInspectionPlanMapper;
35 36
    @Autowired
    private TInspectionDataMapper tInspectionDataMapper;
37 38 39 40 41 42 43 44
    @Autowired
    private SysUserMapper sysUserMapper;
    @Autowired
    private TWorkOrderMapper tWorkOrderMapper;
    @Autowired
    private TPipeMapper tPipeMapper;
    @Autowired
    private TDeviceInfoMapper tDeviceInfoMapper;
45 46
    @Autowired
    private ISysDictTypeService iSysDictTypeService;
47 48 49 50 51 52 53 54

    /**
     * 查询巡检计划
     * 
     * @param planId 巡检计划ID
     * @return 巡检计划
     */
    @Override
55
    public InspectionPlanVo selectTInspectionPlanById(int planId) throws Exception
56
    {
57 58 59 60
        InspectionPlanVo inspectionPlanVo = new InspectionPlanVo();
        TInspectionPlan tInspectionPlan = tInspectionPlanMapper.selectTInspectionPlanById(planId);
        BeanUtils.copyProperties(tInspectionPlan, inspectionPlanVo);

61
        if(tInspectionPlan.getOrderId() != null && !"".equals(tInspectionPlan.getOrderId())) {
62 63 64 65 66 67 68 69 70
            TWorkOrder tWorkOrder = tWorkOrderMapper.selectTWorkOrderById(tInspectionPlan.getOrderId());
            inspectionPlanVo.setAllotTime(tWorkOrder.getAllotTime());
            // 获取巡检员姓名
            SysUser appointInspector = sysUserMapper.selectUserById(tWorkOrder.getAppointInspector());
            inspectionPlanVo.setAppointInspectorName(appointInspector.getNickName());
        }

        List<TDeviceInfo> deviceInfoList = new ArrayList<>();
        List<TPipe> pipeList = new ArrayList<>();
71
        List<InspectionDataVo> inspectionDataList = new ArrayList<>();
72 73 74 75 76 77

        TInspectionData tInspectionData = new TInspectionData();
        tInspectionData.setPlanId(planId);
        List<TInspectionData> dataList = tInspectionDataMapper.selectTInspectionDataList(tInspectionData);

        if(dataList.size() != 0) {
78

79 80 81 82
            TDeviceInfo deviceInfo = null;
            TPipe pipe = null;

            for (TInspectionData temp : dataList) {
83
                InspectionDataVo inspectionDataVo = new InspectionDataVo();
84 85
                BeanUtils.copyProperties(temp, inspectionDataVo);

86 87 88 89
                if (!"0".equals(temp.getDeviceType())) {
                    deviceInfo = tDeviceInfoMapper.selectTDeviceInfoById(temp.getDeviceId());
                    if (deviceInfo != null) {
                        deviceInfoList.add(deviceInfo);
90 91 92

                        inspectionDataVo.setDeviceCode(deviceInfo.getDeviceCode());
                        inspectionDataVo.setDeviceName(deviceInfo.getDeviceName());
93 94 95 96 97
                    }
                } else {
                    pipe = tPipeMapper.selectTPipeById(temp.getDeviceId());
                    if (pipe != null) {
                        pipeList.add(pipe);
98 99 100

                        inspectionDataVo.setDeviceCode(pipe.getPipeCode());
                        inspectionDataVo.setDeviceName(pipe.getPipeName());
101 102
                    }
                }
103 104 105 106 107 108 109 110 111 112

                if (StringUtils.isNotEmpty(temp.getDeviceType())) {
                    List<SysDictData> sysDictDataList = iSysDictTypeService.selectDictDataByType("t_trouble_device_type");
                    for (SysDictData sysDictData : sysDictDataList) {
                        if (temp.getDeviceType().equals(sysDictData.getDictValue())) {
                            inspectionDataVo.setDeviceType(sysDictData.getDictLabel());
                        }
                    }
                }
                inspectionDataList.add(inspectionDataVo);
113 114
            }
        }
115

116 117
        inspectionPlanVo.setPipeList(pipeList);
        inspectionPlanVo.setDeviceList(deviceInfoList);
118 119
        inspectionPlanVo.setInspectionDataList(inspectionDataList);

120
        return inspectionPlanVo;
121 122 123 124 125
    }

    /**
     * 查询巡检计划列表
     * 
126
     * @param inspectionPlanForm 巡检计划
127 128 129
     * @return 巡检计划
     */
    @Override
130
    public List<TInspectionPlan> selectTInspectionPlanList(InspectionPlanForm inspectionPlanForm)
131
    {
132
        return tInspectionPlanMapper.selectTInspectionPlanList(inspectionPlanForm);
133 134
    }

135 136 137 138 139 140 141 142 143 144 145 146
    /**
     * 查询巡检计划列表
     *
     * @param inspectionPlanForm 巡检计划
     * @return 巡检计划
     */
    @Override
    public PageInfo<TInspectionPlan> selectTInspectionPlanPage(InspectionPlanForm inspectionPlanForm)
    {
        return new PageInfo(tInspectionPlanMapper.selectTInspectionPlanList(inspectionPlanForm));
    }

147 148 149 150 151 152 153
    /**
     * 新增巡检计划
     * 
     * @param tInspectionPlan 巡检计划
     * @return 结果
     */
    @Override
154
    public int insertTInspectionPlan(TInspectionPlan tInspectionPlan) throws Exception
155
    {
156 157 158 159 160
        tInspectionPlan.setPlanStatus("0");
        tInspectionPlan.setCreateTime(DateUtils.getNowDate());
        tInspectionPlanMapper.insertTInspectionPlan(tInspectionPlan);

        int planId = tInspectionPlan.getPlanId();
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
        String deviceIds = tInspectionPlan.getDeviceIds();
        String[] stringArr = deviceIds.split("],");
        String deviceType = null;

        for(int i = 0; i < stringArr.length; i++) {
            String[] temp = stringArr[i].split(",");

            for (int j = 0; j < temp.length; j++) {
                String regEx="[^0-9]";
                Pattern p = Pattern.compile(regEx);
                Matcher m = p.matcher(temp[j]);
//                System.out.println(m.replaceAll("").trim());

                if(j == 0) {
                    deviceType = m.replaceAll("").trim();
                } else {
                    Integer deviceId = Integer.valueOf(m.replaceAll("").trim());
                    TInspectionData data = new TInspectionData();
179
                    data.setPlanId(planId);
180 181 182 183 184 185 186 187
                    data.setDeviceId(deviceId);
                    data.setDeviceType(deviceType);
                    data.setCreateTime(DateUtils.getNowDate());

                    tInspectionDataMapper.insertTInspectionData(data);
                }
            }
        }
188
        return 1;
189 190 191 192
    }

    /**
     * 修改巡检计划
193
     *
194 195 196 197
     * @param tInspectionPlan 巡检计划
     * @return 结果
     */
    @Override
198
    public int updateTInspectionPlan(TInspectionPlan tInspectionPlan) throws Exception
199
    {
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
        tInspectionDataMapper.deleteTInspectionDataByPlanId(tInspectionPlan.getPlanId());

        String deviceIds = tInspectionPlan.getDeviceIds();
        String[] stringArr = deviceIds.split("],");
        String deviceType = null;

        for(int i = 0; i < stringArr.length; i++) {
            String[] temp = stringArr[i].split(",");

            for (int j = 0; j < temp.length; j++) {
                String regEx="[^0-9]";
                Pattern p = Pattern.compile(regEx);
                Matcher m = p.matcher(temp[j]);
//                System.out.println(m.replaceAll("").trim());

                if(j == 0) {
                    deviceType = m.replaceAll("").trim();
                } else {
                    Integer deviceId = Integer.valueOf(m.replaceAll("").trim());
                    TInspectionData data = new TInspectionData();
                    data.setPlanId(tInspectionPlan.getPlanId());
                    data.setDeviceId(deviceId);
                    data.setDeviceType(deviceType);
                    data.setCreateTime(DateUtils.getNowDate());

                    tInspectionDataMapper.insertTInspectionData(data);
                }
            }
        }

230 231 232 233 234 235 236 237 238 239 240
        tInspectionPlan.setUpdateTime(DateUtils.getNowDate());
        return tInspectionPlanMapper.updateTInspectionPlan(tInspectionPlan);
    }

    /**
     * 批量删除巡检计划
     * 
     * @param planIds 需要删除的巡检计划ID
     * @return 结果
     */
    @Override
241
    public int deleteTInspectionPlanByIds(int[] planIds)
242 243 244 245 246 247 248 249 250 251 252
    {
        return tInspectionPlanMapper.deleteTInspectionPlanByIds(planIds);
    }

    /**
     * 删除巡检计划信息
     * 
     * @param planId 巡检计划ID
     * @return 结果
     */
    @Override
253
    public int deleteTInspectionPlanById(int planId)
254 255 256 257
    {
        return tInspectionPlanMapper.deleteTInspectionPlanById(planId);
    }
}