|
@@ -0,0 +1,151 @@
|
|
|
+package com.platform.service.big.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.platform.activiti.bean.ActObj;
|
|
|
+import com.platform.activiti.enums.ActApplyEnum;
|
|
|
+import com.platform.common.cache.ConfigCache;
|
|
|
+import com.platform.common.constant.CommonConstants;
|
|
|
+import com.platform.common.enums.DataFilterTypeEnum;
|
|
|
+import com.platform.common.enums.DictTypeEnum;
|
|
|
+import com.platform.common.enums.ResultCode;
|
|
|
+import com.platform.common.exception.BusinessException;
|
|
|
+import com.platform.common.model.UserInfo;
|
|
|
+import com.platform.common.util.*;
|
|
|
+import com.platform.dao.bean.MyVOPage;
|
|
|
+import com.platform.dao.dto.check.CheckStandardDTO;
|
|
|
+import com.platform.dao.dto.part.PartInfoDTO;
|
|
|
+import com.platform.dao.dto.sb.SbInfoDTO;
|
|
|
+import com.platform.dao.dto.sb.SbModelSpareBomDTO;
|
|
|
+import com.platform.dao.dto.upms.SysDeptDTO;
|
|
|
+import com.platform.dao.dto.upms.SysUserDeptDTO;
|
|
|
+import com.platform.dao.dto.workplace.WorkplaceBacklogDTO;
|
|
|
+import com.platform.dao.dto.workplace.WorkplaceBacklogUserDTO;
|
|
|
+import com.platform.dao.entity.check.CheckStandard;
|
|
|
+import com.platform.dao.entity.firm.FirmProducer;
|
|
|
+import com.platform.dao.entity.part.PartInfo;
|
|
|
+import com.platform.dao.entity.part.PartType;
|
|
|
+import com.platform.dao.entity.remote.RemoteMeasure;
|
|
|
+import com.platform.dao.entity.repair.RepairApplicationForm;
|
|
|
+import com.platform.dao.entity.sb.*;
|
|
|
+import com.platform.dao.entity.upms.*;
|
|
|
+import com.platform.dao.enums.*;
|
|
|
+import com.platform.dao.mapper.check.CheckStandardMapper;
|
|
|
+import com.platform.dao.mapper.firm.FirmProducerMapper;
|
|
|
+import com.platform.dao.mapper.part.PartInfoMapper;
|
|
|
+import com.platform.dao.mapper.part.PartTypeMapper;
|
|
|
+import com.platform.dao.mapper.remote.RemoteDegreeMapper;
|
|
|
+import com.platform.dao.mapper.remote.RemoteMeasureMapper;
|
|
|
+import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
|
|
|
+import com.platform.dao.mapper.sb.*;
|
|
|
+import com.platform.dao.mapper.upms.SysDeptMapper;
|
|
|
+import com.platform.dao.mapper.upms.SysDictMapper;
|
|
|
+import com.platform.dao.mapper.upms.SysUserMapper;
|
|
|
+import com.platform.dao.mapper.workplace.WorkplaceBacklogUserMapper;
|
|
|
+import com.platform.dao.util.CustomExcelImportUtil;
|
|
|
+import com.platform.dao.util.ExcelUtil;
|
|
|
+import com.platform.dao.util.MessageTemplateUtil;
|
|
|
+import com.platform.dao.util.UserUtil;
|
|
|
+import com.platform.dao.util.compare.FieldComparedUtils;
|
|
|
+import com.platform.dao.vo.SysUserDeptVO;
|
|
|
+import com.platform.dao.vo.SysUserVO;
|
|
|
+import com.platform.dao.vo.export.sb.ExportSbInfoVO;
|
|
|
+import com.platform.dao.vo.query.upms.SysDeptVO;
|
|
|
+import com.platform.dao.vo.report.SbInfoTypeReportVO;
|
|
|
+import com.platform.dao.vo.sb.*;
|
|
|
+import com.platform.service.base.impl.BaseServiceImpl;
|
|
|
+import com.platform.service.big.BigScreenSbInfoService;
|
|
|
+import com.platform.service.business.ActivitiBusinessService;
|
|
|
+import com.platform.service.check.CheckStandardService;
|
|
|
+import com.platform.service.event.WorkplaceBacklogEvent;
|
|
|
+import com.platform.service.part.PartInfoService;
|
|
|
+import com.platform.service.sb.SbInfoService;
|
|
|
+import com.platform.service.sb.SbModelSpareBomService;
|
|
|
+import com.platform.service.upms.SysDeptRelationService;
|
|
|
+import com.platform.service.upms.SysDeptService;
|
|
|
+import com.platform.service.upms.SysFileService;
|
|
|
+import com.platform.service.upms.SysUserDeptService;
|
|
|
+import com.platform.service.util.CodeFileUtils;
|
|
|
+import com.platform.service.util.ExecuteSql;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.ibatis.exceptions.TooManyResultsException;
|
|
|
+import org.springframework.core.env.Environment;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Isolation;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import tk.mybatis.mapper.weekend.Weekend;
|
|
|
+import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description 设备基础信息 service 实现类
|
|
|
+ * @Author liuyu
|
|
|
+ * @Date 2020-04-21 21:05:46
|
|
|
+ * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
|
|
|
+ */
|
|
|
+@AllArgsConstructor
|
|
|
+@Service("bigScreenSbInfoService")
|
|
|
+@Slf4j
|
|
|
+public class BigScreenSbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbInfoDTO> implements BigScreenSbInfoService {
|
|
|
+ private final RemoteMeasureMapper remoteMeasureMapper;
|
|
|
+ private final RemoteDegreeMapper remoteDegreeMapper;
|
|
|
+ private final SysDictMapper sysDictMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getGroupByLine(Integer lineNum) {
|
|
|
+ Weekend<SysDict> weekend = new Weekend<>(SysDict.class);
|
|
|
+ WeekendCriteria<SysDict, Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
+ weekendCriteria.andEqualTo(SysDict::getType, DictTypeEnum.REMOTE_LINE).andEqualTo(SysDict::getValue, lineNum);
|
|
|
+ SysDict sysDict = sysDictMapper.selectOneByExample(weekend);
|
|
|
+ if (sysDict == null) {
|
|
|
+ throw new BusinessException("请在数据字典配置设备电力线路,数据值:" + lineNum);
|
|
|
+ }
|
|
|
+ SbInfo sbInfo = new SbInfo();
|
|
|
+ sbInfo.setBaoyangTimes(lineNum);
|
|
|
+ List<SbInfo> list = mapper.select(sbInfo);
|
|
|
+ List<String> ids = list.stream().map(SbInfo::getId).collect(Collectors.toList());
|
|
|
+ // 查询所有的遥测点位
|
|
|
+ Weekend<RemoteMeasure> remoteDegreeWeekend = new Weekend<>(RemoteMeasure.class);
|
|
|
+ WeekendCriteria<RemoteMeasure, Object> remoteDegreeObjectWeekendCriteria = remoteDegreeWeekend.weekendCriteria();
|
|
|
+ remoteDegreeObjectWeekendCriteria.andIn(RemoteMeasure::getSbId, ids);
|
|
|
+ List<RemoteMeasure> remoteMeasureList = remoteMeasureMapper.selectByExample(remoteDegreeWeekend);
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ if(CollectionUtil.isNotEmpty(list)){
|
|
|
+ obj.put("lineNum", lineNum);
|
|
|
+ obj.put("lineName", sysDict.getLabel());
|
|
|
+ JSONArray array = new JSONArray();
|
|
|
+ obj.put("sbList", array);
|
|
|
+ for(SbInfo info : list){
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ array.add(jsonObject);
|
|
|
+ jsonObject.put("sbId", info.getId());
|
|
|
+ jsonObject.put("sbNo", info.getNo());
|
|
|
+ jsonObject.put("sbName", info.getName());
|
|
|
+ JSONArray remoteMeasureArray = new JSONArray();
|
|
|
+ jsonObject.put("measureList", remoteMeasureArray);
|
|
|
+ for(RemoteMeasure remoteMeasure : remoteMeasureList){
|
|
|
+ if(remoteMeasure.getSbId().equals(info.getId())){
|
|
|
+ JSONObject remoteMeasureObject = new JSONObject();
|
|
|
+ remoteMeasureObject.put("description", remoteMeasure.getDescription());
|
|
|
+ remoteMeasureObject.put("result", remoteMeasure.getResult());
|
|
|
+ remoteMeasureObject.put("unit", remoteMeasure.getUnit());
|
|
|
+ remoteMeasureObject.put("type", remoteMeasure.getType());
|
|
|
+ remoteMeasureArray.add(remoteMeasureObject);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return obj;
|
|
|
+ }
|
|
|
+}
|