Browse Source

设备树

3254194295 2 years ago
parent
commit
a53c0df398

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/entity/part/PartInfo.java

@@ -1,6 +1,8 @@
 package com.platform.dao.entity.part;
 
 import com.platform.common.bean.DataScope;
+import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
+import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import lombok.Data;
 
 import javax.persistence.Id;
@@ -9,6 +11,7 @@ import javax.persistence.Transient;
 import java.io.Serializable;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * @Description 部件信息实体类
@@ -92,4 +95,6 @@ public class PartInfo implements Serializable {
     @Transient
     private DataScope dataScope;
 
+    private List<SbModelSpareBomVO> sparePartInfoVOList;
+
 }

+ 7 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbInfoMapper.java

@@ -5,6 +5,7 @@ import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.vo.sb.SbInfoScreenDetailVO;
 import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.sb.SbTreeVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
@@ -129,4 +130,10 @@ public interface SbInfoMapper extends MyMapper<SbInfo> {
 
     List selectPageInfoForWarn(SbInfoDTO record);
 
+    SbTreeVO getSbTree(SbInfoDTO sbInfoDTO);
+
+    List<String> getSubSb(SbInfoDTO sbInfoDTO);
+
+
+
 }

+ 5 - 2
platform-dao/src/main/resources/application-daoDev.yml

@@ -37,7 +37,10 @@ spring:
         driver-class-name: com.mysql.cj.jdbc.Driver
         url: jdbc:mysql://localhost:3306/hitch-sb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
         username: root
-        password: 123456
+        password: mysql?MYSQLmoniu123
+        #url: jdbc:mysql://localhost:3306/hitch-sb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
+        #username: root
+        #password: 123456
         filters: wall,stat
         filter:
           stat:
@@ -108,4 +111,4 @@ logging:
   level:
     com.platform.dao.mapper: DEBUG
     org.activiti: ERROR
-    org.activiti.engine.impl.persistence.entity: DEBUG
+    org.activiti.engine.impl.persistence.entity: DEBUG

+ 2 - 0
platform-dao/src/main/resources/mapper/part/PartInfoMapper.xml

@@ -53,4 +53,6 @@
         from t_part_info
         where id = #{id}
     </select>
+
+
 </mapper>

+ 13 - 0
platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml

@@ -722,4 +722,17 @@ user.real_name as saveUserName
             #{item}
         </foreach>
     </update>
+
+    <select id="getSbTree" parameterType="com.platform.dao.dto.sb.SbInfoDTO"
+            resultType="com.platform.dao.vo.sb.SbTreeVO">
+            SELECT info.id,info.name,bom.* FROM
+            t_sb_info info JOIN t_sb_model_spare_bom bom ON
+            info.id=bom.`sb_id`
+            WHERE bom.sb_id=#{id}
+    </select>
+
+    <select id="getSubSb" parameterType="com.platform.dao.dto.sb.SbInfoDTO"
+            resultType="String">
+            select id from t_sb_info where parent_id=#{id}
+    </select>
 </mapper>

+ 13 - 0
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java

@@ -15,10 +15,12 @@ import com.platform.dao.vo.export.sb.ExportSbInfoMeasureVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.dao.vo.sb.SbInfoWorkplaceVO;
+import com.platform.dao.vo.sb.SbTreeVO;
 import com.platform.office.poi.excel.ExcelImportUtil;
 import com.platform.office.poi.excel.entity.ImportParams;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.sb.SbInfoService;
+import com.platform.service.sb.impl.SbInfoServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -43,6 +45,7 @@ import java.util.List;
 public class SbInfoController {
 
     private final SbInfoService sbInfoService;
+    private final SbInfoServiceImpl sbInfoServiceimpl;
 
     /**
      * 设备工作台数据
@@ -480,4 +483,14 @@ public class SbInfoController {
         System.out.println(list.size());
     }
 
+    /**
+     * 获取设备树
+     * @param sbInfoDTO
+     * @return
+     */
+    @GetMapping("/sbTree")
+    public R getSbTree(SbInfoDTO sbInfoDTO) {
+        return new R<>(sbInfoServiceimpl.getSbVOById(sbInfoDTO));
+    }
+
 }

+ 1 - 0
platform-rest/src/main/resources/application-dev.yml

@@ -64,6 +64,7 @@ spring:
 # 直接放行URL
 ignore:
   urls:
+    - /sb/infos/**
     - /upms/logs/**
     - /upms/dicts/data
     - /operate/**

+ 1 - 0
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -602,6 +602,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         }
         if (!CollectionUtils.isEmpty(jobList)) {
             mapper.insertListforComplex(jobList);
+
         }
 
         if (!CollectionUtils.isEmpty(updateStandardList)) {

+ 6 - 4
platform-service/src/main/java/com/platform/service/sb/SbInfoService.java

@@ -4,10 +4,7 @@ import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.sb.SbInfo;
-import com.platform.dao.vo.sb.SbInfoScreenDetailVO;
-import com.platform.dao.vo.sb.SbInfoScreenVO;
-import com.platform.dao.vo.sb.SbInfoVO;
-import com.platform.dao.vo.sb.SbInfoWorkplaceVO;
+import com.platform.dao.vo.sb.*;
 import com.platform.service.base.IBaseService;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -283,4 +280,9 @@ public interface SbInfoService extends IBaseService<SbInfo, SbInfoDTO> {
     void modImagesByDTO(SbInfoDTO sbInfoDTO);
 
     SbInfoWorkplaceVO getWorkplaceData();
+
+    SbTreeVO getSbTreeVo(SbInfoDTO sbInfoDTO);
+
+    public SbTreeVO getSbVOById(SbInfoDTO sbInfoDTO);
+
 }

+ 75 - 0
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -28,6 +28,7 @@ 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.firm.FirmProducer;
+import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.sb.*;
 import com.platform.dao.entity.store.InStoreDetail;
@@ -38,6 +39,7 @@ import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.entity.upms.SysUserDept;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.firm.FirmProducerMapper;
+import com.platform.dao.mapper.part.PartInfoMapper;
 import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.*;
 import com.platform.dao.mapper.upms.SysDeptMapper;
@@ -130,6 +132,9 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
     private final CheckStandardService checkStandardService;
     private final WorkplaceBacklogUserMapper backlogUserMapper;
     private final ActivitiBusinessService activitiBusinessService;
+    private final SbInfoMapper sbInfoMapper;
+    private final SbModelSpareBomMapper sbModelSpareBomMapper;
+    private final PartInfoMapper partInfoMapper;
 
     private final String useArea = "5e64ac691c527828b2114da0";
     private final String useCompany = "6063f905eb190003685af6d4";
@@ -563,6 +568,76 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         return vo;
     }
 
+    @Override
+    public SbTreeVO getSbTreeVo(SbInfoDTO sbInfoDTO) {
+        SbTreeVO sbTreeVO = new SbTreeVO();
+        SbModelSpareBomDTO sbModelSpareBomDTO = new SbModelSpareBomDTO();
+        PartInfoDTO partInfoDTO = new PartInfoDTO();
+        partInfoDTO.setSbId(sbInfoDTO.getId());
+        sbModelSpareBomDTO.setSbId(sbInfoDTO.getId());
+        List<PartInfo> partInfoList = partInfoMapper.selectPageList(partInfoDTO);
+        List<SbModelSpareBomVO> sbModelSpareBomVOList = sbModelSpareBomMapper.selectVOList(sbModelSpareBomDTO);
+        List<SbModelSpareBomVO> spareList = new ArrayList<>();
+        List<SbModelSpareBomVO> spareList2 = new ArrayList<>();
+        for (PartInfo info : partInfoList) {
+        for (SbModelSpareBomVO vo : sbModelSpareBomVOList) {
+            if (StringUtils.isBlank(vo.getSbPartId())) {
+                spareList.add(vo);
+            } else {
+                if (info.getId().equals(vo.getSbPartId())) {
+                    spareList2.add(vo);
+                }
+            }
+        }
+        info.setSparePartInfoVOList(spareList2);
+    }
+        sbTreeVO.setId(sbInfoDTO.getId());
+        sbTreeVO.setPartInfoList(partInfoList);
+        sbTreeVO.setSbModelSpareBomVOList(spareList);
+        return sbTreeVO;
+    }
+
+@Override
+    public SbTreeVO getSbVOById(SbInfoDTO sbInfoDTO) {
+        List<String> ids=sbInfoMapper.getSubSb(sbInfoDTO);
+        SbTreeVO sbTreeVO = new SbTreeVO();
+        List<SbTreeVO> subSbTreeList=new ArrayList<>();
+        if(ids!=null&&ids.size()>0){
+            for(String id: ids){
+                SbInfoDTO infoDTO=new SbInfoDTO();
+                SbTreeVO subSbTreeVO= getSbVOById(infoDTO.setId(id));
+                subSbTreeList.add(subSbTreeVO);
+
+            }
+        }
+        sbTreeVO.setSubSbTreeVOList(subSbTreeList);
+        SbModelSpareBomDTO sbModelSpareBomDTO = new SbModelSpareBomDTO();
+        PartInfoDTO partInfoDTO = new PartInfoDTO();
+        partInfoDTO.setSbId(sbInfoDTO.getId());
+        sbModelSpareBomDTO.setSbId(sbInfoDTO.getId());
+        List<PartInfo> partInfoList = partInfoMapper.selectPageList(partInfoDTO);
+        List<SbModelSpareBomVO> sbModelSpareBomVOList = sbModelSpareBomMapper.selectVOList(sbModelSpareBomDTO);
+        List<SbModelSpareBomVO> spareList = new ArrayList<>();
+        List<SbModelSpareBomVO> spareList2 = new ArrayList<>();
+        for (PartInfo info : partInfoList) {
+            for (SbModelSpareBomVO vo : sbModelSpareBomVOList) {
+                if (StringUtils.isBlank(vo.getSbPartId())) {
+                    spareList.add(vo);
+                } else {
+                    if (info.getId().equals(vo.getSbPartId())) {
+                        spareList2.add(vo);
+                    }
+                }
+            }
+            info.setSparePartInfoVOList(spareList2);
+        }
+        sbTreeVO.setId(sbInfoDTO.getId());
+        sbTreeVO.setPartInfoList(partInfoList);
+        sbTreeVO.setSbModelSpareBomVOList(spareList);
+        return sbTreeVO;
+    }
+
+
     private void setSbNum(LocalDateTime now, SbInfoWorkplaceVO vo) {
 
         List<SbInfo> sbInfoList = mapper.selectAll();