|
@@ -7,6 +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.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.billetActual.entity.*;
|
|
@@ -59,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;
|
|
@@ -74,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
|
|
@@ -549,33 +554,57 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- @Override
|
|
|
- public void furnaceChange(JSONObject jsonObject) {
|
|
|
- String ccmNo = jsonObject.getString("ccmNo");// 铸机号
|
|
|
- String heatNo = jsonObject.getString("heatNo");// 炉号
|
|
|
- if (oConvertUtils.isEmpty(ccmNo) || oConvertUtils.isEmpty(heatNo)){
|
|
|
- log.info("{}{}", "换炉的铸机号跟炉号不能为空", jsonObject);
|
|
|
- return;
|
|
|
- }
|
|
|
- // 发送mqtt消息
|
|
|
- sendFurnaceChangeToMqtt(ccmNo, heatNo);
|
|
|
- }
|
|
|
-
|
|
|
- public void sendFurnaceChangeToMqtt(String ccmNo, String heatNo) {
|
|
|
- try {
|
|
|
- Map<String, Object> mapSendInfo = new HashMap<>();
|
|
|
- mapSendInfo.put("ccmNo", ccmNo);
|
|
|
- mapSendInfo.put("heatNo", heatNo);
|
|
|
-
|
|
|
- // 执行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);
|
|
|
- }
|
|
|
- }
|
|
|
+ @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;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|