|
@@ -7,8 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
-import org.jeecg.common.api.vo.Result;
|
|
|
+import org.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.billetActual.entity.*;
|
|
@@ -24,8 +23,11 @@ import org.jeecg.modules.billetHotsendConfig.entity.BilletHotsendTypeConfig;
|
|
|
import org.jeecg.modules.billetHotsendConfig.service.IBilletHotsendTypeConfigService;
|
|
|
import org.jeecg.modules.billetLiftingBill.entity.BilletLiftingBill;
|
|
|
import org.jeecg.modules.billetLiftingBill.service.IBilletLiftingBillService;
|
|
|
+import org.jeecg.modules.connConfig.configMqtt.mapper.ConfigMqttMapper;
|
|
|
import org.jeecg.modules.operateLog.entity.OperateLog;
|
|
|
import org.jeecg.modules.operateLog.service.IOperateLogService;
|
|
|
+import org.jeecg.modules.push.utils.MqttClientUtil;
|
|
|
+import org.jeecg.modules.push.utils.TopicType;
|
|
|
import org.jeecg.modules.rollClubOne.entity.RollClubOne;
|
|
|
import org.jeecg.modules.rollClubOne.entity.RollClubOneDetails;
|
|
|
import org.jeecg.modules.rollClubOne.service.IRollClubOneDetailsService;
|
|
@@ -46,12 +48,9 @@ import org.jeecg.modules.rollOutShipp.entity.RollOutShipp;
|
|
|
import org.jeecg.modules.rollOutShipp.entity.RollOutShippDetails;
|
|
|
import org.jeecg.modules.rollOutShipp.service.IRollOutShippDetailsService;
|
|
|
import org.jeecg.modules.rollOutShipp.service.IRollOutShippService;
|
|
|
-import org.jeecg.modules.storageBill.entity.ShiftEnum;
|
|
|
-import org.jeecg.modules.storageBill.entity.ShiftGroupEnum;
|
|
|
import org.jeecg.modules.storageBill.entity.StorageBill;
|
|
|
import org.jeecg.modules.storageBill.service.IStorageBillService;
|
|
|
import org.jeecg.modules.storageCarLog.entity.StorageCarLog;
|
|
|
-import org.jeecg.modules.storageCarLog.mapper.StorageCarLogMapper;
|
|
|
import org.jeecg.modules.storageCarLog.service.IStorageCarLogService;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -61,6 +60,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
@@ -76,6 +77,8 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
|
public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseMapper, BilletHotsend> implements IBilletHotsendBaseService {
|
|
|
|
|
|
+ private static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
@Autowired
|
|
|
private IStorageCarLogService storageCarLogService;
|
|
|
@Autowired
|
|
@@ -116,6 +119,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
private IBilletLiftingBillService billetLiftingBillService;
|
|
|
@Autowired
|
|
|
private IOperateLogService operateLogService;
|
|
|
+ @Autowired
|
|
|
+ private ConfigMqttMapper configMqttMapper;
|
|
|
|
|
|
/**
|
|
|
* 自动化新增 5号机 直轧棒1 6号机 高线
|
|
@@ -553,6 +558,58 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void furnaceChange(FurnaceChangeData data) {
|
|
|
+ String ccmNo = data.getCcmNo(); // 铸机号
|
|
|
+ String heatNo = data.getHeatNo(); // 炉号
|
|
|
+ String startPourTime = data.getStartPourTime(); // 开浇时间
|
|
|
+ if (oConvertUtils.isEmpty(ccmNo) || oConvertUtils.isEmpty(heatNo) || oConvertUtils.isEmpty(startPourTime)) {
|
|
|
+ throw new JeecgBootException("换炉失败:铸机号或炉号或开浇时间不能为空!");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 构建最终要传递的对象
|
|
|
+ FurnaceChangeData finalData = new FurnaceChangeData();
|
|
|
+ finalData.setCcmNo(ccmNo);
|
|
|
+ finalData.setHeatNo(heatNo);
|
|
|
+ finalData.setStartPourTime(startPourTime);
|
|
|
+ finalData.setNetWeight(data.getNetWeight());
|
|
|
+ finalData.setLadleNo(data.getLadleNo());
|
|
|
+ finalData.setGrade(data.getGrade());
|
|
|
+ finalData.setSpec(data.getSpec());
|
|
|
+ finalData.setSendTime(formatDate(new Date()));
|
|
|
+
|
|
|
+ // 发送mqtt消息
|
|
|
+ sendFurnaceChangeToMqtt(finalData);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void sendFurnaceChangeToMqtt(FurnaceChangeData data) {
|
|
|
+ try {
|
|
|
+ Map<String, Object> mapSendInfo = new HashMap<>();
|
|
|
+ mapSendInfo.put("netWeight", data.getNetWeight());
|
|
|
+ mapSendInfo.put("ladleNo", data.getLadleNo());
|
|
|
+ mapSendInfo.put("heatNo", data.getHeatNo());
|
|
|
+ mapSendInfo.put("grade", data.getGrade());
|
|
|
+ mapSendInfo.put("startPourTime", data.getStartPourTime());
|
|
|
+ mapSendInfo.put("spec", data.getSpec());
|
|
|
+ mapSendInfo.put("ccmNo", data.getCcmNo());
|
|
|
+ mapSendInfo.put("sendTime", data.getSendTime());
|
|
|
+
|
|
|
+ // 执行MQTT推送,设置合理的超时时间
|
|
|
+ MqttClientUtil mqttClientUtilBe = new MqttClientUtil();
|
|
|
+ mqttClientUtilBe.pushCData(configMqttMapper, mapSendInfo, TopicType.SYN_PUSHBILLETHOTSEND_NEXTSEND.getTopicValue());
|
|
|
+ log.info("B端传递换炉参数,发送MQTT成功: {}", mapSendInfo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("B端传递换炉参数,发送MQTT异常!", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private String formatDate(Date date) {
|
|
|
+ return date != null ? date.toInstant()
|
|
|
+ .atZone(ZoneId.systemDefault())
|
|
|
+ .toLocalDateTime()
|
|
|
+ .format(DATETIME_FORMATTER) : null;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 6号机高线,吊运单保存
|