浏览代码

1.系统管理成员表添加性别、年龄、职务、手机号
2.大屏功能优化

wangxiaofei 2 月之前
父节点
当前提交
ab0069d78a

+ 9 - 0
taphole-admin/src/main/java/com/sckj/admin/service/impl/SystemAuthAdminServiceImpl.java

@@ -273,6 +273,11 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
         model.setIsDisable(createValidate.getIsDisable());
         model.setCreateTime(System.currentTimeMillis() / 1000);
         model.setUpdateTime(System.currentTimeMillis() / 1000);
+
+        model.setDuty(createValidate.getDuty());
+        model.setMobile(createValidate.getMobile());
+        model.setAge(createValidate.getAge());
+        model.setGender(createValidate.getGender());
         systemAuthAdminMapper.insert(model);
     }
 
@@ -321,6 +326,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
         model.setIsMultipoint(updateValidate.getIsMultipoint());
         model.setIsDisable(updateValidate.getIsDisable());
         model.setUpdateTime(System.currentTimeMillis() / 1000);
+        model.setDuty(updateValidate.getDuty());
+        model.setMobile(updateValidate.getMobile());
+        model.setAge(updateValidate.getAge());
+        model.setGender(updateValidate.getGender());
 
         if (!updateValidate.getId().equals(1)) {
             model.setUsername(updateValidate.getUsername());

+ 14 - 0
taphole-admin/src/main/java/com/sckj/admin/validate/system/SystemAdminCreateValidate.java

@@ -62,4 +62,18 @@ public class SystemAdminCreateValidate implements Serializable {
     @ApiModelProperty(value = "岗位ID")
     private List<Integer> postIds;
 
+
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+    @ApiModelProperty("性别")
+    private String gender;
+
+    @ApiModelProperty("职务")
+    private String duty;
+
+    @ApiModelProperty("年龄")
+    @DecimalMin(value = "0", message = "年龄不能少于0")
+    private Integer age;
+
 }

+ 13 - 0
taphole-admin/src/main/java/com/sckj/admin/validate/system/SystemAdminUpdateValidate.java

@@ -65,4 +65,17 @@ public class SystemAdminUpdateValidate implements Serializable {
     @ApiModelProperty(value = "岗位ID")
     private List<Integer> postIds;
 
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+    @ApiModelProperty("性别")
+    private String gender;
+
+    @ApiModelProperty("职务")
+    private String duty;
+
+    @ApiModelProperty("年龄")
+    @DecimalMin(value = "0", message = "年龄不能少于0")
+    private Integer age;
+
 }

+ 12 - 0
taphole-admin/src/main/java/com/sckj/admin/vo/system/SystemAuthAdminDetailVo.java

@@ -52,4 +52,16 @@ public class SystemAuthAdminDetailVo implements Serializable {
     @ApiModelProperty(value = "更新时间")
     private String updateTime;
 
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+    @ApiModelProperty("性别")
+    private String gender;
+
+    @ApiModelProperty("职务")
+    private String duty;
+
+    @ApiModelProperty("年龄")
+    private Integer age;
+
 }

+ 12 - 0
taphole-common/src/main/java/com/sckj/common/entity/system/SystemAuthAdmin.java

@@ -69,4 +69,16 @@ public class SystemAuthAdmin implements Serializable {
     @ApiModelProperty("删除时间")
     private Long deleteTime;
 
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+    @ApiModelProperty("性别")
+    private String gender;
+
+    @ApiModelProperty("职务")
+    private String duty;
+
+    @ApiModelProperty("年龄")
+    private Integer age;
+
 }

+ 2 - 4
taphole-iron/src/main/java/com/sckj/iron/constant/StandardConstans.java

@@ -1,7 +1,5 @@
 package com.sckj.iron.constant;
 
-import com.google.common.util.concurrent.AtomicDouble;
-
 /***
  * 炼铁步骤标志名常量
  */
@@ -10,7 +8,7 @@ public class StandardConstans {
     public static String STANDARD_SPEED = "";
 
     //标准压差阈值
-    public static AtomicDouble STANDARD_PRESSURE_DIFF = new AtomicDouble(0);
+    public static double STANDARD_PRESSURE_DIFF = 0;
 
     //标准出铁时间,范围值
     public static String STANDARD_IRON_TIME = "";
@@ -19,7 +17,7 @@ public class StandardConstans {
     public static String STANDARD_TEMP = "";
 
     //标准开口耗时
-    public static   AtomicDouble STANDARD_OPEN_HOUR = new AtomicDouble(0);
+    public static int STANDARD_OPEN_HOUR = 0;
 
     //标注出铁量,范围值
     public static String STANDARD_IRON_WEIGHT = "";

+ 40 - 6
taphole-iron/src/main/java/com/sckj/iron/socketio/DeviceEventListener.java

@@ -235,6 +235,9 @@ public class DeviceEventListener extends EventListener { //
     // 模型统一管理
     private Map<String, TIronModel> modelMap = new ConcurrentHashMap<>();
 
+    // 新增成员变量
+    private double lastIronLoading1 = -1;
+
     @PostConstruct
     public void init() {
         taskExecutor.submit(() -> {
@@ -317,7 +320,7 @@ public class DeviceEventListener extends EventListener { //
                 if (Objects.equals(mIronParam.getParamName(), ParamsConstants.iron_speed)) {
                     StandardConstans.STANDARD_SPEED = mIronParam.getParamValue();
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.pressure_diff_value)) {
-                    StandardConstans.STANDARD_PRESSURE_DIFF = new AtomicDouble(Double.parseDouble(mIronParam.getParamValue()));
+                    StandardConstans.STANDARD_PRESSURE_DIFF = Double.parseDouble(mIronParam.getParamValue());
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.iron_time)) {
                     StandardConstans.STANDARD_IRON_TIME = mIronParam.getParamValue();
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.server_url)) {
@@ -325,14 +328,14 @@ public class DeviceEventListener extends EventListener { //
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.ironwater_temp)) {
                     StandardConstans.STANDARD_TEMP = mIronParam.getParamValue();
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.open_hour)) {
-                    StandardConstans.STANDARD_OPEN_HOUR = new AtomicDouble(Double.parseDouble(mIronParam.getParamValue()));
+                    StandardConstans.STANDARD_OPEN_HOUR = Integer.parseInt(mIronParam.getParamValue());
                 } else if (Objects.equals(mIronParam.getParamName(), ParamsConstants.iron_weight)) {
                     StandardConstans.STANDARD_IRON_WEIGHT = mIronParam.getParamValue();
                 }
 //                mContext.setVariable(ExpressionConstants.stdSpeed, STANDARD_SPEED.get());
                 mContext.setVariable(ExpressionConstants.stdSpeedMin, Double.parseDouble(StandardConstans.STANDARD_SPEED.split("-")[0]));
                 mContext.setVariable(ExpressionConstants.stdSpeedMax, Double.parseDouble(StandardConstans.STANDARD_SPEED.split("-")[1]));
-                mContext.setVariable(ExpressionConstants.stdPressureDiff, StandardConstans.STANDARD_PRESSURE_DIFF.get());
+                mContext.setVariable(ExpressionConstants.stdPressureDiff, StandardConstans.STANDARD_PRESSURE_DIFF);
 //                mContext.setVariable(ExpressionConstants.stdIronTime, STANDARD_IRON_TIME.get());
                 mContext.setVariable(ExpressionConstants.stdIronTimeMin, Double.parseDouble(StandardConstans.STANDARD_IRON_TIME.split("-")[0]));
                 mContext.setVariable(ExpressionConstants.stdIronTimeMax, Double.parseDouble(StandardConstans.STANDARD_IRON_TIME.split("-")[1]));
@@ -879,7 +882,7 @@ public class DeviceEventListener extends EventListener { //
                 mContext.setVariable(ExpressionConstants.rtIronTempDiff, rtTempMax.get() - rtTempMin.get());
 
             } else if (opcData.getPointName().contains(SubscribeTagConstants.TAG_CAR11(opcData.getServerType())) || opcData.getPointName().contains(SubscribeTagConstants.TAG_CAR12(opcData.getServerType()))) {
-                //1TH-1号车受铁速度
+                //1TH-1号车受铁速度、1TH-2号车受铁速度、
                 RealtimeData realtimeData = new RealtimeData();
                 realtimeData.setValue(opcData.getData());
                 realtimeData.setUnit("t/s");
@@ -1111,8 +1114,26 @@ public class DeviceEventListener extends EventListener { //
 
     private String stepLogId;
 
-    //计算每步结果
+    //计算每步结果为0(不通过)或者为1(通过)
     private synchronized void setStepResult(List<IronStepVO> mSteps) {
+        // 检查ironLoading1是否从1变为0
+        if (lastIronLoading1 == 1 && ironLoading1.get() == 0) {
+            setAllStepPassResult(mSteps, 0);
+            lastIronLoading1 = ironLoading1.get();
+            return;
+        }
+        IronStepVO lastStep = null;
+        if (mSteps != null && !mSteps.isEmpty()) {
+            lastStep = mSteps.get(mSteps.size() - 1);
+        }
+        // 1. 如果最后一个步骤为lqctcz且passResult为1,并且ironLoading1为1,则所有步骤passResult都保持为1
+        if (lastStep != null && StepConstans.STEP_LQCTCZ.equals(lastStep.getIdentifier()) && lastStep.getPassResult() == 1 && ironLoading1.get() == 1) {
+            setAllStepPassResult(mSteps, 1);
+            lastIronLoading1 = ironLoading1.get();
+            return;
+        }
+
+        // 原有逻辑
         boolean foundFalsePass = false;
         //发现第一个pass是false,后续都为false,包括父项、子项、孙子项
         for (IronStepVO stepDTO : mSteps) {
@@ -1127,6 +1148,19 @@ public class DeviceEventListener extends EventListener { //
             //父项 验证是否通过
             foundFalsePass = isFoundFalsePass(stepDTO, foundFalsePass);
         }
+        // 最后更新lastIronLoading1
+        lastIronLoading1 = ironLoading1.get();
+    }
+
+    // 工具方法:递归设置所有步骤的passResult
+    private void setAllStepPassResult(List<IronStepVO> steps, int value) {
+        if (steps == null) return;
+        for (IronStepVO step : steps) {
+            step.setPassResult(value);
+            if (step.getChilds() != null && !step.getChilds().isEmpty()) {
+                setAllStepPassResult(step.getChilds(), value);
+            }
+        }
     }
 
     /***
@@ -1261,7 +1295,7 @@ public class DeviceEventListener extends EventListener { //
 
                 //炉前出铁操作,10分钟内打开铁口,未打开系统告警并记录
                 if ("1".equals(scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getStatus())) {
-                    scheduledTaskManager.addTask(scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getName(), scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getDelay(), scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getPeriod(), TimeUnit.SECONDS, () -> {
+                    scheduledTaskManager.addTask(scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getName(), StandardConstans.STANDARD_OPEN_HOUR * 60, scheduleMap.get(TaskNameConstants.TASKNAME_OPEN_WARN).getPeriod(), TimeUnit.SECONDS, () -> {
                         log.info("开口预警");
                         // 出铁预警,打开系统告警并记录
                         PushData.send2Warn(WarnData.warnOpen("急需开口告警", openAlarmUrl));

+ 4 - 3
taphole-l2/src/main/java/com/sckj/l2/service/impl/TL2DataServiceImpl.java

@@ -52,9 +52,10 @@ public class TL2DataServiceImpl extends ServiceImpl<TL2DataMapper, TL2Data> {
         Integer limit = pageValidate.getPageSize();
 
         QueryWrapper<TL2Data> queryWrapper = new QueryWrapper<>();
-//        if(ObjectUtils.isNotEmpty(searchValidate.getAvgTemp())){
-//
-//        }
+        if(ObjectUtils.isNotEmpty(searchValidate.getIronStarttime()) && ObjectUtils.isNotEmpty(searchValidate.getIronEndtime())){
+            queryWrapper.ge("iron_starttime", searchValidate.getIronStarttime().replace("-","").replace(":","").replace(" ",""));
+            queryWrapper.le("iron_endtime",  searchValidate.getIronEndtime().replace("-","").replace(":","").replace(" ",""));
+        }
         queryWrapper.lambda().orderByDesc(TL2Data::getIronNo);
 
 

+ 5 - 0
taphole-warn/src/main/java/com/sckj/warn/service/impl/TExceptionLogServiceImpl.java

@@ -18,6 +18,7 @@ import com.sckj.warn.validate.TExceptionLogUpdateValidate;
 import com.sckj.warn.vo.TExceptionLogDetailVo;
 import com.sckj.warn.vo.TExceptionLogExportVo;
 import com.sckj.warn.vo.TExceptionLogListedVo;
+import org.apache.commons.lang3.ObjectUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -64,6 +65,10 @@ public class TExceptionLogServiceImpl extends ServiceImpl<TExceptionLogMapper, T
         queryWrapper.eq("del_flag", "1");
         queryWrapper.orderByDesc("id");
 
+        if(ObjectUtils.isNotEmpty(searchValidate.getCreateTimeStart()) && ObjectUtils.isNotEmpty(searchValidate.getCreateTimeEnd())){
+            queryWrapper.between("create_time", searchValidate.getCreateTimeStart(), searchValidate.getCreateTimeEnd());
+        }
+
         /*数据库时间类型为datetime不可走setSearch()*/
 //        if (StringUtils.isNotEmpty(searchValidate.getCreateTimeStart()) && StringUtils.isNotEmpty(searchValidate.getCreateTimeEnd())){
 //            queryWrapper.ge("create_time", searchValidate.getCreateTimeStart())

+ 5 - 1
taphole-warn/src/main/java/com/sckj/warn/validate/TExceptionLogSearchValidate.java

@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 @Data
@@ -28,4 +27,9 @@ public class TExceptionLogSearchValidate implements Serializable {
     @ApiModelProperty(value = "铁口区域编号")
     private String tapholeId;
 
+    @ApiModelProperty(value = "创建的开始时间")
+    private String createTimeStart;
+
+    @ApiModelProperty(value = "创建的结束时间")
+    private String createTimeEnd;
 }