guarantee-lsq 2 سال پیش
والد
کامیت
3bbfa13f4c

+ 1 - 0
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -299,4 +299,5 @@ public interface CommonConstants {
     String CHANGE_TYPE_SB_PARENT = "3"; // 父设备变动
     String CHANGE_TYPE_SB_STATUS = "4"; // 设备状态变动
     String CHANGE_TYPE_SB_ZZH = "5"; // 设备原号变动
+    String CHANGE_TYPE_SB_PPNO = "6"; // 设备父位号变动
 }

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/BatchSbMeasureLog.java

@@ -9,4 +9,9 @@ import java.util.List;
 public class BatchSbMeasureLog implements Serializable {
 
     private List<SbMeasureLogDTO> sbMeasureLogDTOList;
+
+    /**
+     * 在库ID集合
+     */
+    private List<String> sbIds;
 }

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

@@ -231,4 +231,9 @@ public class SbMeasureLogDTO extends BaseDTO implements Serializable {
      * 设备原号
      */
     private String zzh;
+
+    /**
+     * 父位号
+     */
+    private String sbPpno;
 }

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

@@ -151,8 +151,14 @@ public interface SbInfoMapper extends MyMapper<SbInfo> {
     /**
      * 分页查询类型汇总
      *
-     * @param useType 自定义类型
+     * @param dto 自定义类型
      * @return
      */
     List<Map<String, String>> selectCountMap(SbInfoDTO dto);
+
+    /**
+     * 修改待入库设备
+     * @param sbInfoDTO
+     */
+    void updateLongYanForInStore(SbInfoDTO sbInfoDTO);
 }

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

@@ -851,4 +851,7 @@ sb.scrap_user_name,sb.repair_dept_id
         GROUP BY type_id
     </select>
 
+    <update id="updateLongYanForInStore" parameterType="com.platform.dao.dto.sb.SbInfoDTO">
+        update t_sb_info set status = #{status},position_id = null,positionNo = null,ppNo = null,parentId = null where id = #{id}
+    </update>
 </mapper>

+ 7 - 0
platform-rest/src/main/java/com/platform/rest/controller/sb/SbMeasureLogController.java

@@ -71,6 +71,13 @@ public class SbMeasureLogController {
     return new R<>();
   }
 
+  @SysLog("批量设备在库")
+  @PostMapping("/longYan/in/batch")
+  public R inLongYanBatch(@RequestBody BatchSbMeasureLog batchSbMeasureLog) {
+    sbMeasureLogService.saveBatchIn(batchSbMeasureLog);
+    return new R<>();
+  }
+
   /**
    * 修改记录
    *

+ 5 - 4
platform-service/src/main/java/com/platform/service/sb/SbMeasureLogService.java

@@ -1,12 +1,8 @@
 package com.platform.service.sb;
 
-import com.platform.dao.dto.check.CheckJobDTO;
-import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.sb.BatchSbMeasureLog;
 import com.platform.dao.dto.sb.SbMeasureLogDTO;
-import com.platform.dao.entity.check.CheckStandard;
 import com.platform.dao.entity.sb.SbMeasureLog;
-import com.platform.dao.vo.query.check.CheckStandardVO;
 import com.platform.dao.vo.query.sb.SbMeasureLogVO;
 import com.platform.dao.vo.report.MeasureLogReportVO;
 import com.platform.service.base.IBaseService;
@@ -57,4 +53,9 @@ public interface SbMeasureLogService extends IBaseService<SbMeasureLog, SbMeasur
      * @param model
      */
     //void saveTZSBByDTTO(SbMeasureLogDTO model);
+
+    /**
+     * 批量在库
+     */
+    void saveBatchIn(BatchSbMeasureLog batchSbMeasureLog);
 }

+ 44 - 1
platform-service/src/main/java/com/platform/service/sb/impl/SbMeasureLogServiceImpl.java

@@ -143,7 +143,6 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
         SbInfo tempInfo = new SbInfo();
         tempInfo.setId(sbInfo.getId());
         // 判断设备状态,如果是在库,修改设备状态即可
-
         model.setCheckUserId(SecurityUtils.getUserInfo().getUserId()); // 谁操作即是检定记录人
         if (SbUseType.BGCL.getValue().equals(sbInfo.getUseType())) {
             model.setType(1);
@@ -316,6 +315,19 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
                 record.setOldParentId(sb.getParentId());
                 record.setParentId(model.getSbParentId());
                 break;
+            case CommonConstants.CHANGE_TYPE_SB_PPNO:
+                record.setSbNoId(model.getSbPpno());
+                record.setStartTime(LocalDateTime.now());
+                // 将之前位置编号的结束时间修正
+                SbChangeRecordDTO dto2 = new SbChangeRecordDTO();
+                dto2.setChangeType(record.getChangeType());
+                dto2.setSbNoId(model.getSbPositionNo());
+                SbChangeRecord oldRecord2 = sbChangeRecordMapper.getLastOne(dto2);
+                if (oldRecord2 != null) {
+                    oldRecord2.setEndTime(LocalDateTime.now());
+                    sbChangeRecordMapper.updateByPrimaryKey(oldRecord2);
+                }
+                break;
             case CommonConstants.CHANGE_TYPE_SB_STATUS:
             case CommonConstants.CHANGE_TYPE_SB_ZZH:
                 break;
@@ -468,6 +480,37 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
         }
     }
 
+    @Override
+    public void saveBatchIn(BatchSbMeasureLog batchSbMeasureLog) {
+        if (batchSbMeasureLog.getSbIds() != null && batchSbMeasureLog.getSbIds().size() > 0) {
+            batchSbMeasureLog.getSbIds().forEach(item -> {
+                this.saveModelForIn(item);
+            });
+        }
+    }
+
+    /**
+     * 入库
+     * @param sbId
+     */
+    private void saveModelForIn(String sbId){
+        SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(sbId);
+        String oldPositionId = getPureString(sbInfo.getPositionId());
+        // 修改设备状态,【位号、父位号、设备位置清空】
+
+        SbMeasureLogDTO dto = new SbMeasureLogDTO();
+        // 记录位号
+        String remark1 = "设备位号变动【" + sbInfo.getPositionNo() + "】 ---> 【无】";
+        handleSbChangeRecord(remark1,dto,sbInfo,CommonConstants.CHANGE_TYPE_SB_NO);
+        // 记录父位号
+        String remark2 = "设备父位号变动【" + sbInfo.getPpNo() + "】 ---> 【无】";
+        handleSbChangeRecord(remark2,dto,sbInfo,CommonConstants.CHANGE_TYPE_SB_PPNO);
+        // 记录设备位置
+        String before = oldPositionId == "" ? oldPositionId : sbPositionMapper.selectNameById(oldPositionId);
+        String remark3 = "设备位置变动【" + before + "】 ---> 【无】";
+        handleSbChangeRecord(remark3,dto,sbInfo,CommonConstants.CHANGE_TYPE_SB_POSITION);
+    }
+
     /*@Override
     public void saveTZSBByDTTO(SbMeasureLogDTO model) {
         // 更新设备下次检定日期