lyh
2025-06-04 709e07347ac86c766582518345352af2fa286f22
修改自动化添加日志代码
已修改1个文件
53 ■■■■ 文件已修改
lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/service/impl/MsiWebapiJsonServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-msi/src/main/java/org/jeecg/modules/msi/webapi/service/impl/MsiWebapiJsonServiceImpl.java
@@ -19,10 +19,9 @@
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class MsiWebapiJsonServiceImpl extends ServiceImpl<MsiWebapiJsonMapper, MsiWebapiJsonEntity> implements IMsiWebapiJsonService {
@@ -42,8 +41,31 @@
        }
        List<String> listStatus = new ArrayList<>();
        List<String> listParameter = new ArrayList<>();
        // 用于记录前一条记录的状态值
        String prevRunningStatus = null;
        for (MachineEquipentInfo machineInfo : data) {
            System.out.println(machineInfo);
            // 获取当前记录的runningStatus值
            String currentRunningStatus = null;
            for (DetailedListVo item : machineInfo.getItemList()) {
                if ("runningStatus".equals(item.getItemName())) {
                    currentRunningStatus = item.getItemValue();
                    break;
                }
            }
            // 如果当前状态与前一条相同,则跳过
            if (currentRunningStatus != null && currentRunningStatus.equals(prevRunningStatus)) {
                continue;
            }
            // 更新前一条记录的状态值
            prevRunningStatus = currentRunningStatus;
            // 生成SQL
            String stutus = listSqls(machineInfo);
            if (stutus != null && !stutus.equals("")) {
                listStatus.add(stutus);
@@ -56,7 +78,9 @@
        // 执行状态数据SQL
        try {
            executeBatchSql(listStatus);
            executeBatchSql(listParameter);
            if (!listParameter.isEmpty()) {
                executeBatchSql(listParameter);
            }
            return true;
        } catch (Exception e) {
            log.error("执行SQL批量插入失败", e);
@@ -125,10 +149,23 @@
        //EquipmentName
        sql = sql + null + ", ";
        //CollectTime
        if (machineInfo.getEndTime() != null) {
            sql = sql + "'" + DateUtils.formattedDate(machineInfo.getEndTime(),DateUtils.STR_DD_MM_YYYY,DateUtils.STR_DATE_TIME_SMALL) + "', ";
        // 假设 endTime 是 "MM/dd/yyyy HH:mm:ss" 格式的字符串
        if (machineInfo.getEndTime() != null && !machineInfo.getEndTime().isEmpty()) {
            try {
                // 1. 将字符串解析为 Date 对象
                SimpleDateFormat inputFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
                Date endDate = inputFormat.parse(machineInfo.getEndTime());
                // 2. 将 Date 格式化为目标 SQL 格式(如 "yyyy-MM-dd HH:mm:ss")
                SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                sql = sql + "'" + outputFormat.format(endDate) + "', ";
            } catch (ParseException e) {
                // 处理解析失败的情况(如日志记录或抛出异常)
                throw new RuntimeException("Invalid end time format: " + machineInfo.getEndTime(), e);
            }
        } else {
            sql = sql + "'" + DateUtils.format(DateUtils.getDate(),DateUtils.STR_DATE_TIME) + "', ";
            // 如果 endTime 为 null 或空,使用当前时间
            sql = sql + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "', ";
        }
        //runningStatus
        if (itemMap.containsKey("runningStatus")) {