guarantee-lsq 2 anni fa
parent
commit
d26ffeba69

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

@@ -318,6 +318,11 @@ public interface CommonConstants {
     String CHANGE_TYPE_SB_ZZH = "5"; // 设备原号变动
     String CHANGE_TYPE_SB_PPNO = "6"; // 设备父位号变动
 
+    String CHANGE_TYPE_SB_OUT = "7"; // 子设备移出旧父设备
+    String CHANGE_TYPE_SB_IN = "8"; // 子设备移入新父设备
+
+    int CHANGE_TYPE_SB_UPDATE = 9; // 子设备移出旧父设备
+
     /**
      * 维修类型
      */

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

@@ -236,4 +236,6 @@ public class SbMeasureLogDTO extends BaseDTO implements Serializable {
      * 父位号
      */
     private String sbPpno;
+
+    private String oldParentId;
 }

+ 2 - 0
platform-rest/src/main/java/com/platform/rest/config/security/TokenEndpointAspect.java

@@ -75,6 +75,8 @@ public class TokenEndpointAspect {
     @Autowired
     VerifyCodeService verifyCodeService;
 
+    private org.springframework.security.oauth2.provider.endpoint.TokenEndpoint tt;
+
     /**
      * 配置切入点,该方法无方法体,主要为方便同类中其他方法使用此处配置的切入点
      */

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

@@ -152,6 +152,8 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
     private final String useDept = "606540afeb19002808e276d1";
     private final String useGroup = "606540c8eb19002808e276d8";
 
+    private final SbChangeRecordMapper sbChangeRecordMapper;
+
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<SbInfo> weekend = new Weekend<>(SbInfo.class);
@@ -521,6 +523,16 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         log.setUpdateJson(updateInfo);
         log.setObjType(SbChangeLogTypeEnum.SB.getValue());
         sbChangeLogMapper.insert(log);
+        // 存入sbMe
+        SbChangeRecord record = new SbChangeRecord();
+        record.setId(IdGeneratorUtils.getObjectId());
+        record.setSbId(sbId);
+        record.setContent(updateInfo);
+        record.setCreatedUserName(SecurityUtils.getUserInfo().getUsername());
+        record.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+        record.setCreatedTime(LocalDateTime.now());
+        record.setChangeType(CommonConstants.CHANGE_TYPE_SB_UPDATE);
+        sbChangeRecordMapper.insert(record);
     }
 
 

+ 30 - 5
platform-service/src/main/java/com/platform/service/sb/impl/SbMeasureLogServiceImpl.java

@@ -17,8 +17,10 @@ import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbLocation;
 import com.platform.dao.entity.sb.SbMeasureLog;
 import com.platform.dao.entity.upms.SysFile;
-import com.platform.dao.entity.upms.SysRole;
-import com.platform.dao.enums.*;
+import com.platform.dao.enums.SbInfoStatusEnum;
+import com.platform.dao.enums.SbUseType;
+import com.platform.dao.enums.SysFileTypeEnum;
+import com.platform.dao.enums.YesNoEnum;
 import com.platform.dao.mapper.sb.*;
 import com.platform.dao.vo.query.sb.SbMeasureLogVO;
 import com.platform.dao.vo.report.MeasureLogReportVO;
@@ -35,7 +37,9 @@ import tk.mybatis.mapper.weekend.Weekend;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -219,12 +223,20 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
             String after = positionId == "" ? positionId : sbPositionMapper.selectNameById(positionId);
             remark1.append("【" + after + "】");
         }
+        StringBuilder inRemark = new StringBuilder(); // 新增子设备记录
+        StringBuilder outRemark = new StringBuilder(); // 移除子设备记录
         if (!oldParentId.equals(parentId)) {
             insertParent = Boolean.TRUE;
             sbInfo.setParentId(parentId);
-            remark2.append("父设备变动【" + sbInfo.getName()).append("】 ---> ");
+            String oldParentName = "无";
+            if(StringUtils.isNotBlank(oldParentId)){
+                oldParentName = sbInfoMapper.selectNameById(oldParentId);
+                outRemark.append("子设备【"+sbInfo.getName()+"】移出。");
+            }
+            remark2.append("父设备变动【" + oldParentName).append("】 ---> ");
             String after = parentId == "" ? parentId : sbInfoMapper.selectNameById(parentId);
             remark2.append("【" + after + "】");
+            outRemark.append("子设备【"+sbInfo.getName()+"】挂靠。");
         }
         if (!oldSbPositionNo.equals(positionNo)) {
             if (StringUtils.isNotBlank(sbInfo.getParentId())) {
@@ -262,7 +274,14 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
             handleSbChangeRecord(remark1.toString(), model, sbInfo, CommonConstants.CHANGE_TYPE_SB_POSITION);
         }
         if (insertParent) {
+            model.setOldParentId(oldParentId);
             handleSbChangeRecord(remark2.toString(), model, sbInfo, CommonConstants.CHANGE_TYPE_SB_PARENT);
+            // 旧父设备增加一条,移除记录,新父设备增加一条,新增记录
+            if(StringUtils.isNotBlank(oldParentId)){
+                // 移除记录
+                handleSbChangeRecord(outRemark.toString(), model, sbInfo, CommonConstants.CHANGE_TYPE_SB_OUT);
+            }
+            handleSbChangeRecord(inRemark.toString(), model, sbInfo, CommonConstants.CHANGE_TYPE_SB_IN);
         }
         if (insertNo) {
             handleSbChangeRecord(remark3.toString(), model, sbInfo, CommonConstants.CHANGE_TYPE_SB_NO);
@@ -335,9 +354,15 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
                 }
                 break;
             case CommonConstants.CHANGE_TYPE_SB_PARENT:
-                record.setOldParentId(sb.getParentId());
+                record.setOldParentId(model.getOldParentId());
                 record.setParentId(model.getSbParentId());
                 break;
+            case CommonConstants.CHANGE_TYPE_SB_IN:
+                record.setParentId(model.getSbParentId());
+                break;
+            case CommonConstants.CHANGE_TYPE_SB_OUT:
+                record.setParentId(model.getOldParentId());
+                break;
             case CommonConstants.CHANGE_TYPE_SB_PPNO:
                 record.setSbNoId(model.getSbPpno());
                 record.setStartTime(LocalDateTime.now());