|
@@ -0,0 +1,259 @@
|
|
|
+package com.bizmatics.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.bizmatics.common.core.bean.CommonPage;
|
|
|
+import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
+import com.bizmatics.model.*;
|
|
|
+import com.bizmatics.model.system.SysUser;
|
|
|
+import com.bizmatics.model.vo.*;
|
|
|
+import com.bizmatics.persistence.mapper.DevopsWorkOrderMapper;
|
|
|
+import com.bizmatics.service.*;
|
|
|
+import com.bizmatics.service.util.SecurityUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 运维管理-工单管理
|
|
|
+ *
|
|
|
+ * @author ya
|
|
|
+ * @since 2021-10-21
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class DevopsWorkOrderServiceImpl extends AbstractCrudService<DevopsWorkOrderMapper, DevopsWorkOrder> implements DevopsWorkOrderService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DevopsOrderDeviceService devopsOrderDeviceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DevopsOrderInspectorsService devopsOrderInspectorsService;
|
|
|
+ @Autowired
|
|
|
+ private PatrolInspectionRecordService patrolInspectionRecordService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PatrolRecordRouteService patrolRecordRouteService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void devopsWorkOrderAdd(DevopsWorkOrderVo devopsWorkOrderVo) {
|
|
|
+ DevopsWorkOrder devopsWorkOrder = new DevopsWorkOrder();
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
+ devopsWorkOrder.setWorkOrder(devopsWorkOrderVo.getWorkOrder());
|
|
|
+ devopsWorkOrder.setSiteId(devopsWorkOrderVo.getSiteId());
|
|
|
+ devopsWorkOrder.setWorkOrderType(devopsWorkOrderVo.getWorkOrderType());
|
|
|
+ devopsWorkOrder.setExpectedCompletionTime(devopsWorkOrderVo.getExpectedCompletionTime());
|
|
|
+ devopsWorkOrder.setTeamId(devopsWorkOrderVo.getTeamId());
|
|
|
+ devopsWorkOrder.setGenerationMode(devopsWorkOrderVo.getGenerationMode());
|
|
|
+ devopsWorkOrder.setWorkOrderStatus(3);
|
|
|
+ devopsWorkOrder.setPicturePathOne(devopsWorkOrderVo.getPicturePathOne());
|
|
|
+ devopsWorkOrder.setPicturePathTwo(devopsWorkOrderVo.getPicturePathTwo());
|
|
|
+ devopsWorkOrder.setPicturePathThree(devopsWorkOrderVo.getPicturePathThree());
|
|
|
+ devopsWorkOrder.setPicturePathFour(devopsWorkOrderVo.getPicturePathFour());
|
|
|
+ devopsWorkOrder.setPicturePathFive(devopsWorkOrderVo.getPicturePathFive());
|
|
|
+ devopsWorkOrder.setPicturePathSix(devopsWorkOrderVo.getPicturePathSix());
|
|
|
+ devopsWorkOrder.setCreator(user.getUserName());
|
|
|
+ devopsWorkOrder.setCreateTime(new Date());
|
|
|
+ devopsWorkOrder.setStatus(1);
|
|
|
+ this.save(devopsWorkOrder);
|
|
|
+ Integer devopsWorkOrderId = devopsWorkOrder.getId();
|
|
|
+ String[] inspectionDeviceIdList = devopsWorkOrderVo.getInspectionDeviceId().split(",");
|
|
|
+ String[] inspectorsIdList = devopsWorkOrderVo.getInspectorsId().split(",");
|
|
|
+ for (int i = 0; i < inspectionDeviceIdList.length; i++) {
|
|
|
+ DevopsOrderDevice devopsOrderDevice = new DevopsOrderDevice();
|
|
|
+ devopsOrderDevice.setWorkOrderId(devopsWorkOrderId);
|
|
|
+ devopsOrderDevice.setInspectionDeviceId(Integer.parseInt(inspectionDeviceIdList[i]));
|
|
|
+ devopsOrderDevice.setCreator(user.getUserName());
|
|
|
+ devopsOrderDevice.setCreateTime(new Date());
|
|
|
+ devopsOrderDevice.setStatus(1);
|
|
|
+ devopsOrderDeviceService.save(devopsOrderDevice);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < inspectorsIdList.length; i++) {
|
|
|
+ DevopsOrderInspectors devopsOrderInspectors = new DevopsOrderInspectors();
|
|
|
+ devopsOrderInspectors.setWorkOrderId(devopsWorkOrderId);
|
|
|
+ devopsOrderInspectors.setInspectorsId(Integer.parseInt(inspectorsIdList[i]));
|
|
|
+ devopsOrderInspectors.setCreator(user.getUserName());
|
|
|
+ devopsOrderInspectors.setCreateTime(new Date());
|
|
|
+ devopsOrderInspectors.setStatus(1);
|
|
|
+ devopsOrderInspectorsService.save(devopsOrderInspectors);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void devopsWorkOrderUpdate(DevopsWorkOrderVo devopsWorkOrderVo) {
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
+ DevopsWorkOrder devopsWorkOrder = new DevopsWorkOrder();
|
|
|
+ devopsWorkOrder.setId(devopsWorkOrderVo.getId());
|
|
|
+ devopsWorkOrder.setWorkOrder(devopsWorkOrderVo.getWorkOrder());
|
|
|
+ devopsWorkOrder.setWorkOrderType(devopsWorkOrderVo.getWorkOrderType());
|
|
|
+ devopsWorkOrder.setExpectedCompletionTime(devopsWorkOrderVo.getExpectedCompletionTime());
|
|
|
+ devopsWorkOrder.setTeamId(devopsWorkOrderVo.getTeamId());
|
|
|
+ devopsWorkOrder.setGenerationMode(devopsWorkOrderVo.getGenerationMode());
|
|
|
+ devopsWorkOrder.setWorkOrderStatus(devopsWorkOrderVo.getWorkOrderStatus());
|
|
|
+ devopsWorkOrder.setPicturePathOne(devopsWorkOrderVo.getPicturePathOne());
|
|
|
+ devopsWorkOrder.setPicturePathTwo(devopsWorkOrderVo.getPicturePathTwo());
|
|
|
+ devopsWorkOrder.setPicturePathThree(devopsWorkOrderVo.getPicturePathThree());
|
|
|
+ devopsWorkOrder.setPicturePathFour(devopsWorkOrderVo.getPicturePathFour());
|
|
|
+ devopsWorkOrder.setPicturePathFive(devopsWorkOrderVo.getPicturePathFive());
|
|
|
+ devopsWorkOrder.setPicturePathSix(devopsWorkOrderVo.getPicturePathSix());
|
|
|
+ this.updateById(devopsWorkOrder);
|
|
|
+ Integer devopsWorkOrderId = devopsWorkOrder.getId();
|
|
|
+ String[] inspectionDeviceIdList = devopsWorkOrderVo.getInspectionDeviceId().split(",");
|
|
|
+ String[] inspectorsIdList = devopsWorkOrderVo.getInspectorsId().split(",");
|
|
|
+ if (inspectionDeviceIdList.length > 0) {
|
|
|
+ for (int i = 0; i < inspectionDeviceIdList.length; i++) {
|
|
|
+ DevopsOrderDevice devopsOrderDevice = new DevopsOrderDevice();
|
|
|
+ devopsOrderDevice.setWorkOrderId(devopsWorkOrderId);
|
|
|
+ devopsOrderDevice.setInspectionDeviceId(Integer.parseInt(inspectionDeviceIdList[i]));
|
|
|
+ devopsOrderDevice.setCreator(user.getUserName());
|
|
|
+ devopsOrderDevice.setCreateTime(new Date());
|
|
|
+ devopsOrderDevice.setStatus(1);
|
|
|
+ devopsOrderDeviceService.save(devopsOrderDevice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (inspectorsIdList.length > 0) {
|
|
|
+ for (int i = 0; i < inspectorsIdList.length; i++) {
|
|
|
+ DevopsOrderInspectors devopsOrderInspectors = new DevopsOrderInspectors();
|
|
|
+ devopsOrderInspectors.setWorkOrderId(devopsWorkOrderId);
|
|
|
+ devopsOrderInspectors.setInspectorsId(Integer.parseInt(inspectorsIdList[i]));
|
|
|
+ devopsOrderInspectors.setCreator(user.getUserName());
|
|
|
+ devopsOrderInspectors.setCreateTime(new Date());
|
|
|
+ devopsOrderInspectors.setStatus(1);
|
|
|
+ devopsOrderInspectorsService.save(devopsOrderInspectors);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void devopsWorkOrderDel(Integer id) {
|
|
|
+ DevopsWorkOrder devopsWorkOrder = new DevopsWorkOrder();
|
|
|
+ devopsWorkOrder.setId(id);
|
|
|
+ devopsWorkOrder.setStatus(0);
|
|
|
+ this.updateById(devopsWorkOrder);
|
|
|
+ //巡检设备
|
|
|
+ LambdaQueryWrapper<DevopsOrderDevice> queryWrapperOne = Wrappers.lambdaQuery();
|
|
|
+ queryWrapperOne.eq(DevopsOrderDevice::getWorkOrderId, id).eq(DevopsOrderDevice::getStatus, 1);
|
|
|
+ List<DevopsOrderDevice> devopsOrderDeviceList = devopsOrderDeviceService.list(queryWrapperOne);
|
|
|
+
|
|
|
+ //人员
|
|
|
+ LambdaQueryWrapper<DevopsOrderInspectors> queryWrapperTwo = Wrappers.lambdaQuery();
|
|
|
+ queryWrapperTwo.eq(DevopsOrderInspectors::getWorkOrderId, id).eq(DevopsOrderInspectors::getStatus, 1);
|
|
|
+ List<DevopsOrderInspectors> devopsOrderInspectorsList = devopsOrderInspectorsService.list(queryWrapperTwo);
|
|
|
+
|
|
|
+ if (devopsOrderDeviceList.size() > 0) {
|
|
|
+ for (int i = 0; i < devopsOrderDeviceList.size(); i++) {
|
|
|
+ DevopsOrderDevice devopsOrderDevice = new DevopsOrderDevice();
|
|
|
+ devopsOrderDevice.setId(devopsOrderDeviceList.get(i).getId());
|
|
|
+ devopsOrderDevice.setStatus(0);
|
|
|
+ devopsOrderDeviceService.updateById(devopsOrderDevice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (devopsOrderInspectorsList.size() > 0) {
|
|
|
+ for (int i = 0; i < devopsOrderInspectorsList.size(); i++) {
|
|
|
+ DevopsOrderInspectors devopsOrderInspectors = new DevopsOrderInspectors();
|
|
|
+ devopsOrderInspectors.setId(devopsOrderInspectorsList.get(i).getId());
|
|
|
+ devopsOrderInspectors.setStatus(0);
|
|
|
+ devopsOrderInspectorsService.updateById(devopsOrderInspectors);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void devopsOrderDeviceDel(Integer inspectionDeviceId) {
|
|
|
+ DevopsOrderDevice devopsOrderDevice = new DevopsOrderDevice();
|
|
|
+ devopsOrderDevice.setId(inspectionDeviceId);
|
|
|
+ devopsOrderDevice.setStatus(0);
|
|
|
+ devopsOrderDeviceService.updateById(devopsOrderDevice);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void devopsOrderInspectorsDel(Integer inspectorsId) {
|
|
|
+ DevopsOrderInspectors devopsOrderInspectors = new DevopsOrderInspectors();
|
|
|
+ devopsOrderInspectors.setId(inspectorsId);
|
|
|
+ devopsOrderInspectors.setStatus(0);
|
|
|
+ devopsOrderInspectorsService.updateById(devopsOrderInspectors);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public CommonPage<DevopsWorkOrderListVo> devopsWorkOrderList(Integer generationMode, Integer workOrderStatus, Integer siteId, Integer inspectorsId, Integer size, Integer current) {
|
|
|
+ List<DevopsWorkOrderListVo> devopsWorkOrderListTwo = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<DevopsOrderInspectors> queryWrapperTwo = Wrappers.lambdaQuery();
|
|
|
+ queryWrapperTwo.eq(DevopsOrderInspectors::getInspectorsId, inspectorsId).eq(DevopsOrderInspectors::getStatus, 1);
|
|
|
+ List<DevopsOrderInspectors> devopsOrderInspectorsList = devopsOrderInspectorsService.list(queryWrapperTwo);
|
|
|
+
|
|
|
+ List<DevopsWorkOrderListVo> devopsWorkOrderListOne = baseMapper.devopsWorkOrderList(generationMode, workOrderStatus, siteId, devopsOrderInspectorsList, null, 0);
|
|
|
+ int total = 0;
|
|
|
+ if (devopsWorkOrderListOne.size() > 0) {
|
|
|
+ total = devopsWorkOrderListOne.size();
|
|
|
+ }
|
|
|
+ int startCurrent = (size - 1) * current;
|
|
|
+ List<DevopsWorkOrderListVo> devopsWorkOrderList = baseMapper.devopsWorkOrderList(generationMode, workOrderStatus, siteId, devopsOrderInspectorsList, startCurrent, current);
|
|
|
+ if (devopsWorkOrderList.size() > 0) {
|
|
|
+ List<PatrolInspectorsVo> patrolInspectorsVoList = baseMapper.patrolInspectorsVoList(0);
|
|
|
+ for (int i = 0; i < devopsWorkOrderList.size(); i++) {
|
|
|
+ String inspectorsNameList = "";
|
|
|
+ for (int j = 0; j < patrolInspectorsVoList.size(); j++) {
|
|
|
+ if (devopsWorkOrderList.get(i).getId() == patrolInspectorsVoList.get(j).getWorkOrderId()) {
|
|
|
+ inspectorsNameList = inspectorsNameList + patrolInspectorsVoList.get(j).getInspectorsName() + ",";
|
|
|
+ }
|
|
|
+ if (patrolInspectorsVoList.size() - 1 == j) {
|
|
|
+ inspectorsNameList = inspectorsNameList.substring(0, inspectorsNameList.length() - 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ devopsWorkOrderList.get(i).setInspectorsName(inspectorsNameList);
|
|
|
+// devopsWorkOrderListTwo.set(i, devopsWorkOrderList.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return new CommonPage<>(devopsWorkOrderList, total, current, size);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<DevopsWorkOrderDetailsVo> devopsWorkOrderDetails(Integer id) {
|
|
|
+ List<PatrolRouteContentListVo> patrolRouteContentListVoList = new ArrayList<>();
|
|
|
+ List<DevopsWorkOrderDetailsVo> devopsWorkOrderList = baseMapper.devopsWorkOrderDetails(id);
|
|
|
+ List<PatrolInspectorsVo> patrolInspectorsList = baseMapper.patrolInspectorsVoList(id);
|
|
|
+ List<PatrolInspectionDeviceDetailsVo> PatrolInspectionDeviceList = baseMapper.patrolInspectionDeviceList(id);
|
|
|
+ devopsWorkOrderList.get(0).setPatrolInspectionDeviceDetailsVo(PatrolInspectionDeviceList);
|
|
|
+ devopsWorkOrderList.get(0).setPatrolInspectorsVo(patrolInspectorsList);
|
|
|
+
|
|
|
+ if(devopsWorkOrderList.get(0).getGenerationMode()==1){
|
|
|
+ LambdaQueryWrapper<PatrolInspectionRecord> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(PatrolInspectionRecord::getId, devopsWorkOrderList.get(0).getInspectionRecordId());
|
|
|
+ List<PatrolInspectionRecord> patrolInspectionRecordList = patrolInspectionRecordService.list(queryWrapper);
|
|
|
+ List<PatrolRouteContentListVo> patrolRouteContentList = baseMapper.patrolRouteContentList(patrolInspectionRecordList.get(0).getSiteId(), patrolInspectionRecordList.get(0).getInspectionSchemeId());
|
|
|
+ for (int i= 0; i<patrolRouteContentList.size();i++){
|
|
|
+ LambdaQueryWrapper<PatrolRecordRoute> queryWrapperTwo = Wrappers.lambdaQuery();
|
|
|
+ queryWrapperTwo.eq(PatrolRecordRoute::getInspectionRecordId, patrolInspectionRecordList.get(0).getId())
|
|
|
+ .eq(PatrolRecordRoute::getInspectionContentId,patrolRouteContentList.get(i).getInspectionContentId());
|
|
|
+ List<PatrolRecordRoute> patrolInspectionSchemeList = patrolRecordRouteService.list(queryWrapperTwo);
|
|
|
+
|
|
|
+ PatrolRouteContentListVo patrolRouteContentListVo = new PatrolRouteContentListVo();
|
|
|
+ patrolRouteContentListVo.setId(patrolRouteContentList.get(i).getId());
|
|
|
+ patrolRouteContentListVo.setInspectionRouteId(patrolRouteContentList.get(i).getInspectionRouteId());
|
|
|
+ patrolRouteContentListVo.setInspectionContentId(patrolRouteContentList.get(i).getInspectionContentId());
|
|
|
+ patrolRouteContentListVo.setInspectionContentName(patrolRouteContentList.get(i).getInspectionContentName());
|
|
|
+ patrolRouteContentListVo.setInspectionDeviceName(patrolRouteContentList.get(i).getInspectionDeviceName());
|
|
|
+ patrolRouteContentListVo.setCreator(patrolRouteContentList.get(i).getCreator());
|
|
|
+ patrolRouteContentListVo.setCreateTime(patrolRouteContentList.get(i).getCreateTime());
|
|
|
+ patrolRouteContentListVo.setStatus(patrolRouteContentList.get(i).getStatus());
|
|
|
+ patrolRouteContentListVo.setPatrolRecordRoute(patrolInspectionSchemeList);
|
|
|
+ List inspectionDeviceAbnormalList = new ArrayList();
|
|
|
+ for (int j = 0;j<patrolInspectionSchemeList.size();j++){
|
|
|
+ inspectionDeviceAbnormalList.add(patrolInspectionSchemeList.get(j).getStatus());
|
|
|
+ }
|
|
|
+ patrolRouteContentListVoList.add(patrolRouteContentListVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ devopsWorkOrderList.get(0).setPatrolRouteContentListVoList(patrolRouteContentListVoList);
|
|
|
+
|
|
|
+ return devopsWorkOrderList;
|
|
|
+ }
|
|
|
+}
|