Browse Source

联锁删除

LLL 9 months ago
parent
commit
83c5d2dc57

+ 12 - 12
jeecg-module-interlock/src/main/java/org/jeecg/modules/detail/dto/InterlockDetailAddDTO.java

@@ -114,18 +114,18 @@ public class InterlockDetailAddDTO {
     @Excel(name = "联锁设定值", width = 15)
     @ApiModelProperty(value = "联锁设定值")
     private java.lang.String interlockSetValue;
-    /**联锁设定值-设备id*/
-    @Excel(name = "联锁设定值-设备id", width = 15)
-    @ApiModelProperty(value = "联锁设定值-设备id")
-    private java.lang.String interlockSetDeviceId;
-    /**联锁设定值-模块名称*/
-    @Excel(name = "联锁设定值-模块名称", width = 15)
-    @ApiModelProperty(value = "联锁设定值-模块名称")
-    private java.lang.String interlockSetModuleName;
-    /**联锁设定值点位*/
-    @Excel(name = "联锁设定值点位", width = 15)
-    @ApiModelProperty(value = "联锁设定值点位")
-    private java.lang.String interlockSetTag;
+//    /**联锁设定值-设备id*/
+//    @Excel(name = "联锁设定值-设备id", width = 15)
+//    @ApiModelProperty(value = "联锁设定值-设备id")
+//    private java.lang.String interlockSetDeviceId;
+//    /**联锁设定值-模块名称*/
+//    @Excel(name = "联锁设定值-模块名称", width = 15)
+//    @ApiModelProperty(value = "联锁设定值-模块名称")
+//    private java.lang.String interlockSetModuleName;
+//    /**联锁设定值点位*/
+//    @Excel(name = "联锁设定值点位", width = 15)
+//    @ApiModelProperty(value = "联锁设定值点位")
+//    private java.lang.String interlockSetTag;
     /**当前值*/
     @Excel(name = "当前值", width = 15)
     @ApiModelProperty(value = "当前值")

+ 20 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/constants/InterlockConstants.java

@@ -0,0 +1,20 @@
+package org.jeecg.modules.summary.constants;
+
+/**
+ * 功能描述
+ *
+ * @author: nn
+ * @date: 2024年05月31日 9:28
+ */
+public class InterlockConstants {
+    public static final String INTERLOCK_CONDITION = "9";//联锁条件值
+    public static final String INSTRUMENT_STATUS = "7";//仪表状态
+    public static final String ORIGINAL_ANALOG_VALUE = "";//原始模拟量
+    public static final String INTERLOCK_OUT_VALUE = "3";//联锁输出值
+    public static final String CURRENT_VALUE = "1";//当前值
+    public static final String BYPASS_STATUS = "2";//旁路状态
+    public static final String INPUT_CARD_STATUS = "4";//输入卡件状态
+    public static final String OUTPUT_CARD_STATUS = "5";//输出卡件状态
+    public static final String MP_STATUS = "6";//MP状态
+    public static final String INSTRUMENT_STATUS_VALUE = "8";//仪表状态
+}

+ 16 - 1
jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/controller/InterlockSummaryController.java

@@ -147,6 +147,21 @@ public class InterlockSummaryController extends JeecgController<InterlockSummary
 		return Result.OK("编辑成功!");
 	}
 
+	 /**
+	  *   通过id删除联锁总表、联锁详细信息、点位
+	  *
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "通过id删除联锁总表、联锁详细信息、点位")
+	 @ApiOperation(value="通过id删除联锁总表、联锁详细信息、点位", notes="通过id删除联锁总表、联锁详细信息、点位")
+	 //@RequiresPermissions("org.jeecg.modules:interlock_summary:delete")
+	 @DeleteMapping(value = "/delete")
+	 public Result<String> delete1(@RequestParam(name="id",required=true) String id) {
+		 interlockSummaryService.delete(id);
+		 return Result.OK("删除成功!");
+	 }
+
 	/**
 	 *   通过id删除
 	 *
@@ -156,7 +171,7 @@ public class InterlockSummaryController extends JeecgController<InterlockSummary
 	@AutoLog(value = "联锁总表-通过id删除")
 	@ApiOperation(value="联锁总表-通过id删除", notes="联锁总表-通过id删除")
 	//@RequiresPermissions("org.jeecg.modules:interlock_summary:delete")
-	@DeleteMapping(value = "/delete")
+//	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 		interlockSummaryService.removeById(id);
 		return Result.OK("删除成功!");

+ 4 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/service/IInterlockSummaryService.java

@@ -12,6 +12,10 @@ import org.jeecg.modules.summary.entity.InterlockSummary;
  */
 public interface IInterlockSummaryService extends IService<InterlockSummary> {
 
+    /**
+     *  删除联锁及详细信息、点位
+     */
+    public void delete(String id);
 
     /**
      *  联锁及详细信息——用于编辑

+ 50 - 35
jeecg-module-interlock/src/main/java/org/jeecg/modules/summary/service/impl/InterlockSummaryServiceImpl.java

@@ -8,6 +8,7 @@ import org.jeecg.modules.detail.convert.InterlockDetailConvert;
 import org.jeecg.modules.detail.dto.InterlockDetailAddDTO;
 import org.jeecg.modules.detail.entity.InterlockDetail;
 import org.jeecg.modules.detail.mapper.InterlockDetailMapper;
+import org.jeecg.modules.summary.constants.InterlockConstants;
 import org.jeecg.modules.summary.convert.InterlockSummaryConvert;
 import org.jeecg.modules.summary.dto.InterlockAddDTO;
 import org.jeecg.modules.summary.entity.InterlockSummary;
@@ -48,6 +49,23 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
     @SuppressWarnings("all")
     private IInterlockTagService interlockTagService;
 
+
+    /**
+     *  删除联锁及详细信息、点位
+     */
+    public void delete(String id){
+        //删除点位
+        LambdaQueryWrapper<InterlockTag> tagWrapper = new LambdaQueryWrapper<>();
+        tagWrapper.eq(InterlockTag::getInterlockSummaryId,id);
+        interlockTagService.remove(tagWrapper);
+        //删除联锁详细信息
+        LambdaQueryWrapper<InterlockDetail> detailWrapper = new LambdaQueryWrapper<>();
+        detailWrapper.eq(InterlockDetail::getSummaryid,id);
+        interlockDetailMapper.delete(detailWrapper);
+        //删除联锁
+        interlockSummaryMapper.deleteById(id);
+    }
+
     /**
      *  联锁及详细信息——用于编辑
      */
@@ -85,32 +103,26 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
         //查该系统下有无相同名称联锁,无则新增 //0装置1系统2联锁 //1是0否
         interlockBaseService.judgeAndAdd(interlockAddDTO.getInterlockSystemId(), "2", interlockAddDTO.getInterlockName(), "0");
 
-        //删除该联锁对应的点位
+        //删除该联锁的所有联锁详细信息的所有点位
         LambdaQueryWrapper<InterlockTag> queryWrapper3 = new LambdaQueryWrapper<>();
-        queryWrapper3.eq(InterlockTag::getInterlockConditionId, summaryId);
+        queryWrapper3.eq(InterlockTag::getInterlockSummaryId, summaryId);
         interlockTagService.remove(queryWrapper3);
-        //删除该联锁下所有联锁详细信息的所有点位
+        //删除该联锁下所有联锁详细信息
         LambdaQueryWrapper<InterlockDetail> queryWrapper1 = new LambdaQueryWrapper<>();
         queryWrapper1.eq(InterlockDetail::getSummaryid,summaryId);
-        List<InterlockDetail> details = interlockDetailMapper.selectList(queryWrapper1);
-        for (InterlockDetail detail : details){
-            LambdaQueryWrapper<InterlockTag> queryWrapper2 = new LambdaQueryWrapper<>();
-            queryWrapper2.eq(InterlockTag::getInterlockConditionId, detail.getId());
-            interlockTagService.remove(queryWrapper2);
-        }
-        //删除该联锁下所有联锁详细信息
         interlockDetailMapper.delete(queryWrapper1);
 
 
         //新增——联锁输出值点位
-        interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), "联锁输出值",summaryId));
+        interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), InterlockConstants.INTERLOCK_OUT_VALUE,summaryId,summaryId));
 
         for (InterlockDetailAddDTO dto : interlockDetailAddDTOList){
             dto.setSummaryid(summaryId);
 
             //联锁状态  0未投用1投用
             if(dto.getIfBypass()!=null ){
-                //是否旁路,0否(手动输入——手动输入什么????)1是(再看点位——点位值是什么格式?????????????????)
+                //是否旁路,0否(手动输入)1是(再看点位)
+                // TODO
                 if("1".equals(dto.getIfBypass())) if(dto.getBypass()!=null && "1".equals(dto.getBypass())) interlockStatus = "0";//旁路状态是多个的话,任何一个旁路是1(是),则联锁状态是0未投用。
                 else if("0".equals(dto.getIfBypass()))  if(dto.getBypass()!=null && "1".equals(dto.getBypass())) interlockStatus = "0";//旁路状态是多个的话,任何一个旁路是1(是),则联锁状态是0未投用。
             }
@@ -126,7 +138,7 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
                     if(ysmnlValue.compareTo(lowerLimit) == 1 && ysmnlValue.compareTo(upperLimit) == 1) dto.setInstrumentStatus("0");
                     else dto.setInstrumentStatus("1");
                 } else if("2".equals(dto.getInstrumentStatusJuge())){ //2突变超限判断
-                    //?????????????????????????????????????????
+                    //TODO
                 }
                 if(dto.getInstrumentStatus().equals("1")) instrumentStatus = "1";
             }
@@ -142,10 +154,10 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
             interlockDetailMapper.insert(detail);
 
             //新增对应联锁详细信息的点位列表
-            interlockTagService.saveBatch(toTagList(dto,summaryId));
+            interlockTagService.saveBatch(toTagList(dto,summaryId,summaryId));
         }
 
-        if("0".equals(instrumentStatus)) i++; //???0未投用1投用用哪个算正常状态  先按0未投用不正常算
+        if("0".equals(instrumentStatus)) i++; //0未投用1投用用哪个算正常状态  先按0未投用不正常算 TODO
         if("1".equals(interlockStatus)) i++;
         if("1".equals(controlSystemStatus)) i++;
         if(i==0)  loopHealthLevel="A";
@@ -182,14 +194,14 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
         String summaryId = interlockSummary.getId();
 
         //新增——联锁输出值点位
-        interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), "联锁输出值",summaryId));
+        interlockTagService.save(createInterlockTag(interlockAddDTO.getDeviceId(),interlockAddDTO.getModuleName(), interlockAddDTO.getInterlockOutValueTag(), interlockAddDTO.getInterlockOutValue(), InterlockConstants.INTERLOCK_OUT_VALUE,summaryId,summaryId));
 
         for (InterlockDetailAddDTO dto : interlockDetailAddDTOList){
             dto.setSummaryid(summaryId);
 
             //联锁状态  0未投用1投用
             if(dto.getIfBypass()!=null ){
-                //是否旁路,0否(手动输入——手动输入什么????)1是(再看点位——点位值是什么格式?????????????????
+                //是否旁路,0否(手动输入)1是(再看点位)TODO
                 if("1".equals(dto.getIfBypass())) if(dto.getBypass()!=null && "1".equals(dto.getBypass())) interlockStatus = "0";//旁路状态是多个的话,任何一个旁路是1(是),则联锁状态是0未投用。
                 else if("0".equals(dto.getIfBypass()))  if(dto.getBypass()!=null && "1".equals(dto.getBypass())) interlockStatus = "0";//旁路状态是多个的话,任何一个旁路是1(是),则联锁状态是0未投用。
             }
@@ -205,7 +217,7 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
                     if(ysmnlValue.compareTo(lowerLimit) == 1 && ysmnlValue.compareTo(upperLimit) == 1) dto.setInstrumentStatus("0");
                     else dto.setInstrumentStatus("1");
                 } else if("2".equals(dto.getInstrumentStatusJuge())){ //2突变超限判断
-                    //?????????????????????????????????????????
+                    //TODO
                 }
                 if(dto.getInstrumentStatus().equals("1")) instrumentStatus = "1";
             }
@@ -221,10 +233,10 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
             interlockDetailMapper.insert(detail);
 
             //新增对应联锁详细信息的点位列表
-            interlockTagService.saveBatch(toTagList(dto,summaryId));
+            interlockTagService.saveBatch(toTagList(dto,summaryId,summaryId));
         }
 
-        if("0".equals(instrumentStatus)) i++; //???0未投用1投用用哪个算正常状态  先按0未投用不正常算
+        if("0".equals(instrumentStatus)) i++; //0未投用1投用用哪个算正常状态  先按0未投用不正常算//TODO
         if("1".equals(interlockStatus)) i++;
         if("1".equals(controlSystemStatus)) i++;
         if(i==0)  loopHealthLevel="A";
@@ -237,35 +249,38 @@ public class InterlockSummaryServiceImpl extends ServiceImpl<InterlockSummaryMap
         interlockSummaryMapper.updateById(interlockSummary);
     }
 
-    private List<InterlockTag> toTagList(InterlockDetailAddDTO dto,String interlockConditionId){
+    private List<InterlockTag> toTagList(InterlockDetailAddDTO dto,String interlockConditionId,String interlockSummaryId){
         List<InterlockTag> interlockTagList = new ArrayList<>();
 
         //联锁条件
-        interlockTagList.add(createInterlockTag(dto.getInterlockConditionDeviceId(), dto.getInterlockConditionModuleName(), dto.getInterlockConditionTag(), dto.getInterlockCondition(), "联锁条件",interlockConditionId));
-        //仪表状态 0直接读取位号
+        interlockTagList.add(createInterlockTag(dto.getInterlockConditionDeviceId(), dto.getInterlockConditionModuleName(), dto.getInterlockConditionTag(), dto.getInterlockCondition(), InterlockConstants.INTERLOCK_CONDITION,interlockConditionId,interlockSummaryId));
+
+        //仪表状态、仪表状态值 0直接读取位号
         if("0".equals(dto.getInstrumentStatusJuge())){
-            interlockTagList.add(createInterlockTag(dto.getInstrumentStatusDeviceId(), dto.getInstrumentStatusModuleName(), dto.getInstrumentStatusTag(), dto.getInstrumentStatus(), "仪表状态",interlockConditionId));
+            interlockTagList.add(createInterlockTag(dto.getInstrumentStatusDeviceId(), dto.getInstrumentStatusModuleName(), dto.getInstrumentStatusTag(), dto.getInstrumentStatus(), InterlockConstants.INSTRUMENT_STATUS,interlockConditionId,interlockSummaryId));
+            interlockTagList.add(createInterlockTag(dto.getInstrumentStatusDeviceId(), dto.getInstrumentStatusModuleName(), dto.getInstrumentStatusTag(), dto.getInstrumentStatus(), InterlockConstants.INSTRUMENT_STATUS_VALUE,interlockConditionId,interlockSummaryId));
         }
         //原始模拟量
-        interlockTagList.add(createInterlockTag(dto.getYsmnlDeviceId(),dto.getYsmnlModuleName(),dto.getYsmnlTag(),dto.getYsmnlValue(),"原始模拟量",interlockConditionId));
-        //联锁设定值
-        interlockTagList.add(createInterlockTag(dto.getInterlockSetDeviceId(),dto.getInterlockSetModuleName(),dto.getInterlockSetTag(),dto.getInterlockSetValue(),"联锁设定值",interlockConditionId));
+        interlockTagList.add(createInterlockTag(dto.getYsmnlDeviceId(),dto.getYsmnlModuleName(),dto.getYsmnlTag(),dto.getYsmnlValue(),InterlockConstants.ORIGINAL_ANALOG_VALUE,interlockConditionId,interlockSummaryId));
         //当前值
-        interlockTagList.add(createInterlockTag(dto.getCurrentValueDeviceId(),dto.getCurrentValueModuleName(),dto.getCurrentValueTag(),dto.getCurrentValue(),"当前值",interlockConditionId));
-        //旁路状态、、、、、、、、、、、、、、、、、、、
-        interlockTagList.add(createInterlockTag(dto.getBypassDeviceId(),dto.getBypassModuleName(),dto.getBypassTag(),dto.getBypass(),"旁路状态",interlockConditionId));
+        interlockTagList.add(createInterlockTag(dto.getCurrentValueDeviceId(),dto.getCurrentValueModuleName(),dto.getCurrentValueTag(),dto.getCurrentValue(),InterlockConstants.CURRENT_VALUE,interlockConditionId,interlockSummaryId));
+        //旁路状态
+        //TODO
+        interlockTagList.add(createInterlockTag(dto.getBypassDeviceId(),dto.getBypassModuleName(),dto.getBypassTag(),dto.getBypass(),InterlockConstants.BYPASS_STATUS,interlockConditionId,interlockSummaryId));
         //输入卡件状态
-        interlockTagList.add(createInterlockTag(dto.getInputStatusDeviceId(),dto.getInputStatusModuleName(),dto.getInputStatusTag(),dto.getInputStatus(),"输入卡件状态",interlockConditionId));
+        interlockTagList.add(createInterlockTag(dto.getInputStatusDeviceId(),dto.getInputStatusModuleName(),dto.getInputStatusTag(),dto.getInputStatus(),InterlockConstants.INPUT_CARD_STATUS,interlockConditionId,interlockSummaryId));
         //输出卡件状态
-        interlockTagList.add(createInterlockTag(dto.getOutputStatusDeviceId(),dto.getOutputStatusModuleName(),dto.getOutputStatusTag(),dto.getOutputStatus(),"输出卡件状态",interlockConditionId));
+        interlockTagList.add(createInterlockTag(dto.getOutputStatusDeviceId(),dto.getOutputStatusModuleName(),dto.getOutputStatusTag(),dto.getOutputStatus(),InterlockConstants.OUTPUT_CARD_STATUS,interlockConditionId,interlockSummaryId));
         //MP状态
-        interlockTagList.add(createInterlockTag(dto.getMpStatusDeviceId(),dto.getMpStatusModuleName(),dto.getMpStatusTag(),dto.getMpStatus(),"MP状态",interlockConditionId));
+        interlockTagList.add(createInterlockTag(dto.getMpStatusDeviceId(),dto.getMpStatusModuleName(),dto.getMpStatusTag(),dto.getMpStatus(),InterlockConstants.MP_STATUS,interlockConditionId,interlockSummaryId));
 
         return interlockTagList;
     }
 
-    private InterlockTag createInterlockTag(String deviceId, String moduleName, String tag, String value, String type,String interlockConditionId) {
-        return new InterlockTag(deviceId, moduleName, tag, value, type,interlockConditionId);
+
+
+    private InterlockTag createInterlockTag(String deviceId, String moduleName, String tag, String value, String type,String interlockConditionId,String interlockSummaryId) {
+        return new InterlockTag(deviceId, moduleName, tag, value, type,interlockConditionId,interlockSummaryId);
     }
 
 }

+ 8 - 1
jeecg-module-interlock/src/main/java/org/jeecg/modules/tag/entity/InterlockTag.java

@@ -56,6 +56,10 @@ public class InterlockTag implements Serializable {
 	@Excel(name = "联锁条件ID", width = 15)
     @ApiModelProperty(value = "联锁条件ID")
     private java.lang.String interlockConditionId;
+    /**联锁总表ID*/
+    @Excel(name = "联锁总表ID", width = 15)
+    @ApiModelProperty(value = "联锁总表ID")
+    private java.lang.String interlockSummaryId;
 	/**参数类型*/
 	@Excel(name = "参数类型", width = 15)
     @ApiModelProperty(value = "参数类型")
@@ -80,13 +84,16 @@ public class InterlockTag implements Serializable {
     @ApiModelProperty(value = "所属部门")
     private java.lang.String sysOrgCode;
 
-    public InterlockTag(String deviceId, String moduleName, String tagName, String tagValue, String parameterType,String interlockConditionId) {
+
+
+    public InterlockTag(String deviceId, String moduleName, String tagName, String tagValue, String parameterType,String interlockConditionId, String interlockSummaryId) {
         this.deviceId = deviceId;
         this.moduleName = moduleName;
         this.tagName = tagName;
         this.tagValue = tagValue;
         this.parameterType = parameterType;
         this.interlockConditionId = interlockConditionId;
+        this.interlockSummaryId = interlockSummaryId;
     }
 
 }