преди 1 година
родител
ревизия
d3c44fc800

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbChangeRecordDTO.java

@@ -21,6 +21,7 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SbChangeRecordDTO extends BaseDTO implements Serializable {
+    private String sbName;
     private Integer actionType;
     private Integer transformType;
 

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbMeasureLogDTO.java

@@ -25,6 +25,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SbMeasureLogDTO extends BaseDTO implements Serializable {
+    private String positionNo;
 
     /**
      * 1:检定,2:更换,3:维修,4:退库,5:报废

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbChangeRecordMapper.java

@@ -18,6 +18,7 @@ import java.util.List;
  */
 @Component
 public interface SbChangeRecordMapper extends MyMapper<SbChangeRecord> {
+    List<SbChangeRecordVO> getList(SbChangeRecordDTO dto);
     List<SbChangeRecordVO> getPositionNoHistory(SbChangeRecordDTO dto);
     /**
      * 分页查询

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/YiBiaoHisroryVO.java

@@ -30,5 +30,6 @@ public class YiBiaoHisroryVO extends BaseVO implements Serializable {
    private LocalDateTime createdTime;
    private String createdUserId;
    private String createdUserName;
+   private String actionType;
    private List<YiBiaoHisroryVO> yiBiaoHisroryVOS;
 }

+ 26 - 0
platform-dao/src/main/resources/mapper/sb/SbChangeRecordMapper.xml

@@ -111,6 +111,9 @@
         <if test="keyword != null and keyword != ''">
             and sbChange.id like concat(concat('%',#{keyword}),'%')
         </if>
+        <if test="actionType!=null">
+            and sbChange.action_type=#{actionType}
+        </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.sb.SbChangeRecordDTO"
             resultType="com.platform.dao.vo.query.sb.SbChangeRecordVO">
@@ -129,4 +132,27 @@
             </if>
             order by created_time desc limit 1
     </select>
+    <select id="getList" parameterType="com.platform.dao.dto.sb.SbChangeRecordDTO"
+            resultType="com.platform.dao.vo.query.sb.SbChangeRecordVO">
+        select sbChange.*,sb.name as sbName
+        from t_sb_change_record as sbChange left join t_sb_info sb on sbChange.sb_id = sb.id
+        <where>
+            <if test="actionType!=null">
+                and sbChange.action_type is not null
+            </if>
+            <if test="sbName!=null and sbName!=''">
+                and sb.name like concat('%',#{sbName},'%')
+            </if>
+            <if test="sbNoId!=null and sbNoId!=''">
+                and sbChange.sb_no_id like concat('%',#{sbNoId},'%')
+            </if>
+            <if test="createdTimeStart!=null">
+                and sbChange.created_time <![CDATA[ >= ]]>#{createdTimeStart}
+            </if>
+            <if test="createdTimeEnd!=null">
+                and sbChange.created_time <![CDATA[ <= ]]>#{createdTimeEnd}
+            </if>
+        </where>
+        order by sbChange.sb_no_id desc,sbChange.created_time desc
+    </select>
 </mapper>

+ 2 - 1
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java

@@ -7,6 +7,7 @@ import com.platform.common.util.R;
 import com.platform.common.util.SecurityUtils;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.sb.SbChangeRecordDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbType;
@@ -589,7 +590,7 @@ public class SbInfoController {
      * @return
      */
     @GetMapping("/positionNo/history")
-    public R getPositionNoHistory(SbInfoDTO dto){
+    public R getPositionNoHistory(SbChangeRecordDTO dto){
         return new R<>(sbInfoService.getPositionNoHistory(dto));
     }
 

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

@@ -84,6 +84,7 @@ ignore:
     - /websocket/**
     - /sb/types/**
     - /report/sb/infos/**
+    - /sb/measure-logs/**
 platform:
   slf4j:
     data: D://xajg

+ 2 - 1
platform-service/src/main/java/com/platform/service/sb/SbInfoService.java

@@ -2,6 +2,7 @@ package com.platform.service.sb;
 
 import com.alibaba.fastjson.JSONObject;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.sb.SbChangeRecordDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbTypeDTO;
 import com.platform.dao.entity.sb.SbInfo;
@@ -24,7 +25,7 @@ import java.util.Map;
  */
 public interface SbInfoService extends IBaseService<SbInfo, SbInfoDTO> {
 
-    List<SbInfoVO> getPositionNoHistory(SbInfoDTO dto);
+    List<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO dto);
 
     List<SbInfoTypeReportVO2> getSbNumReport(SbTypeDTO dto);
 

+ 113 - 61
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -18,6 +18,7 @@ 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.SbChangeRecordDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sb.SbTypeDTO;
@@ -137,74 +138,125 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
     private final FillGatherTaskDetailMapper fillGatherTaskDetailMapper;
 
     @Override
-    public List<SbInfoVO> getPositionNoHistory(SbInfoDTO dto) {
-        dto.setUseType(4);//仪表
-        List<SbInfoVO> sbInfoVOS = mapper.selectVOList(dto);
-        List<String> positionNos = sbInfoVOS.stream().map(SbInfoVO::getPositionNo).collect(Collectors.toList());
-        List<SbChangeRecord> sbChangeRecords = new ArrayList<>();
+    public List<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO dto) {
+//        dto.setUseType(4);//仪表
+//        List<SbInfoVO> sbInfoVOS = mapper.selectVOList(dto);
+//        List<String> positionNos = sbInfoVOS.stream().map(SbInfoVO::getPositionNo).collect(Collectors.toList());
+//        List<SbChangeRecord> sbChangeRecords = new ArrayList<>();
 //        if (positionNos!=null){
-            Weekend<SbChangeRecord> weekend = new Weekend<>(SbChangeRecord.class);
-            WeekendCriteria<SbChangeRecord,Object> weekendCriteria = weekend.weekendCriteria();
-//            weekendCriteria.andIn(SbChangeRecord::getSbNoId,positionNos);
-            weekendCriteria.andIsNotNull(SbChangeRecord::getActionType);
-            sbChangeRecords = sbChangeRecordMapper.selectByExample(weekend);
-//        }
-        List<SbChangeRecord> tempInList = new ArrayList<>();
-        List<SbChangeRecord> tempOutList = new ArrayList<>();
-        if (sbChangeRecords!=null) {
-            for (SbChangeRecord record : sbChangeRecords){
-                if (record.getActionType()==1){
-                    tempInList.add(record);
-                }else {
-                    tempOutList.add(record);
+//            Weekend<SbChangeRecord> weekend = new Weekend<>(SbChangeRecord.class);
+//            WeekendCriteria<SbChangeRecord,Object> weekendCriteria = weekend.weekendCriteria();
+////            weekendCriteria.andIn(SbChangeRecord::getSbNoId,positionNos);
+//            weekendCriteria.andIsNotNull(SbChangeRecord::getActionType);
+//            sbChangeRecords = sbChangeRecordMapper.selectByExample(weekend);
+        SbChangeRecordDTO sbChangeRecordDTO = new SbChangeRecordDTO();
+        sbChangeRecordDTO.setActionType(1);
+        List<SbChangeRecordVO> sbChangeRecordVOS = sbChangeRecordMapper.getList(sbChangeRecordDTO);
+
+        List<String> nos = sbChangeRecordVOS.stream().map(SbChangeRecordVO::getSbNoId).distinct().collect(Collectors.toList());
+        Map<String,List<SbChangeRecordVO>> map = new HashMap<>();
+        for (String no:nos){
+            List<SbChangeRecordVO> changeRecordVOS = new ArrayList<>();
+            for (int i=0;i<sbChangeRecordVOS.size();i++){
+                if (no!=null&&no.equals(sbChangeRecordVOS.get(i).getSbNoId())){
+                    changeRecordVOS.add(sbChangeRecordVOS.get(i));
                 }
             }
-        }
-
-        List<String> recordPositions = sbChangeRecords.stream().map(SbChangeRecord::getSbNoId).distinct().collect(Collectors.toList());
-        SbInfoDTO sbInfoDTO = new SbInfoDTO();
-        sbInfoDTO.setPositionIds(recordPositions);
-        List<SbInfoVO> sbInfoVOS2 =  mapper.selectVOList(sbInfoDTO);
-        for (String po:recordPositions){
-            for (SbInfoVO vo:sbInfoVOS2){
-                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(po)){
-                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-                    yiBiaoHisroryVO.setSbName(vo.getName());
-                    yiBiaoHisroryVO.setSbId(vo.getId());
-                    yiBiaoHisroryVO.setSbNo(vo.getNo());
-
-                }
-            }
-        }
-        for (String positions:recordPositions){
-            for (SbInfoVO vo:sbInfoVOS){
-                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(positions)){
-                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-                    yiBiaoHisroryVO.setSbName(vo.getName());
-                    yiBiaoHisroryVO.setSbId(vo.getId());
-                    yiBiaoHisroryVO.setSbNo(vo.getNo());
-                    for (SbChangeRecord record : sbChangeRecords){
-
-                    }
-//                    yiBiaoHisroryVO.setCreatedTime()
+            map.put(no,changeRecordVOS);
+        }
+        List<YiBiaoHisroryVO> hisroryVOS = new ArrayList<>();
+        for (String no:nos){
+            List<SbChangeRecordVO> list = map.get(no);
+            if (list!=null&&list.size()>0){
+                YiBiaoHisroryVO vo = new YiBiaoHisroryVO();
+                vo.setPositionNo(no);
+                vo.setSbName(list.get(0).getSbName());
+                vo.setCreatedUserName(list.get(0).getCreatedUserName());
+                vo.setCreatedUserId(list.get(0).getCreatedUserId());
+                vo.setCreatedTime(list.get(0).getCreatedTime());
+                vo.setActionType(list.get(0).getActionType()==1?"移入":"移出");
+                if (list.size()>1){
+                    list.remove(0);
+                    List<YiBiaoHisroryVO> subVO = new ArrayList<>();
+                    for (int j = 0;j<list.size();j++){
+                        YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
+                        yiBiaoHisroryVO.setPositionNo(no);
+                        yiBiaoHisroryVO.setSbName(list.get(j).getSbName());
+                        yiBiaoHisroryVO.setCreatedUserName(list.get(j).getCreatedUserName());
+                        yiBiaoHisroryVO.setCreatedUserId(list.get(j).getCreatedUserId());
+                        yiBiaoHisroryVO.setCreatedTime(list.get(j).getCreatedTime());
+                        yiBiaoHisroryVO.setActionType(list.get(j).getActionType()==1?"移入":"移出");
+                        subVO.add(yiBiaoHisroryVO);
+                    }
+                    vo.setYiBiaoHisroryVOS(subVO);
                 }
+                hisroryVOS.add(vo);
             }
         }
-//        List<String> inPositions = tempInList.stream().distinct().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
-//        List<String> outPositions = tempOutList.stream().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
 
-
-        if (sbChangeRecords!=null){
-            for (SbInfoVO vo:sbInfoVOS){
-                YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-                yiBiaoHisroryVO.setSbName(vo.getName());
-                yiBiaoHisroryVO.setSbNo(vo.getNo());
-                for (SbChangeRecord record:sbChangeRecords){
-//                    if (record.getSbId()!=null&&record.getSbId().equals(vo.get))
-                }
-            }
-        }
-        return null;
+//        }
+//        List<SbChangeRecord> tempInList = new ArrayList<>();
+//        List<SbChangeRecord> tempOutList = new ArrayList<>();
+//        if (sbChangeRecords!=null) {
+//            for (SbChangeRecord record : sbChangeRecords){
+//                if (record.getActionType()==1){
+//                    tempInList.add(record);
+//                }else {
+//                    tempOutList.add(record);
+//                }
+//            }
+//        }
+//
+//        List<String> recordPositions = sbChangeRecords.stream().map(SbChangeRecord::getSbNoId).distinct().collect(Collectors.toList());
+//        SbInfoDTO sbInfoDTO = new SbInfoDTO();
+//        sbInfoDTO.setPositionIds(recordPositions);
+//        List<SbInfoVO> sbInfoVOS2 =  mapper.selectVOList(sbInfoDTO);
+//        for (String po:recordPositions){
+//            for (SbInfoVO vo:sbInfoVOS2){
+//                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(po)){
+//                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
+//                    yiBiaoHisroryVO.setSbName(vo.getName());
+//                    yiBiaoHisroryVO.setSbId(vo.getId());
+//                    yiBiaoHisroryVO.setSbNo(vo.getNo());
+//                    for (int i=0;i<sbChangeRecordVOS.size();i++){
+//                        if (vo.getPositionNo().equals(sbChangeRecordVOS.get(i).getSbNoId())){
+//                            yiBiaoHisroryVO.setCreatedTime(sbChangeRecordVOS.get(i).getCreatedTime());
+//                            yiBiaoHisroryVO.setCreatedUserId(sbChangeRecordVOS.get(i).getCreatedUserId());
+//                            yiBiaoHisroryVO.setCreatedUserName(sbChangeRecordVOS.get(i).getCreatedUserName());
+//                        }
+//                    }
+//                }
+//            }
+//        }
+//        for (String positions:recordPositions){
+//            for (SbInfoVO vo:sbInfoVOS){
+//                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(positions)){
+//                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
+//                    yiBiaoHisroryVO.setSbName(vo.getName());
+//                    yiBiaoHisroryVO.setSbId(vo.getId());
+//                    yiBiaoHisroryVO.setSbNo(vo.getNo());
+//                    for (SbChangeRecord record : sbChangeRecords){
+//
+//                    }
+////                    yiBiaoHisroryVO.setCreatedTime()
+//                }
+//            }
+//        }
+////        List<String> inPositions = tempInList.stream().distinct().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
+////        List<String> outPositions = tempOutList.stream().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
+//
+//
+//        if (sbChangeRecords!=null){
+//            for (SbInfoVO vo:sbInfoVOS){
+//                YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
+//                yiBiaoHisroryVO.setSbName(vo.getName());
+//                yiBiaoHisroryVO.setSbNo(vo.getNo());
+//                for (SbChangeRecord record:sbChangeRecords){
+////                    if (record.getSbId()!=null&&record.getSbId().equals(vo.get))
+//                }
+//            }
+//        }
+        return hisroryVOS;
     }
 
     @Override