yangys
2025-08-19 71c283248325a343170b6befc64afb4a0e4fe1da
增加本地日志
已删除1个文件
已修改6个文件
253 ■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/resources/log/logback-dev.xml 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/resources/logback-spring.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/test/java/org/springblade/mdm/utils/CustomBinaryReaderTest.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
@@ -5,12 +5,16 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.history.HistoricActivityInstance;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.task.api.Task;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.mapper.ApproveRecordMapper;
import org.springblade.mdm.flow.vo.ApproveRecordVO;
@@ -27,6 +31,8 @@
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
/**
@@ -42,6 +48,7 @@
    private final ApproveRecordService approveRecordService;
    private final NcNodeService ncNodeService;
    private final MachineService machineService;
    private final HistoryService historyService;
    private static final String UNCHECK_BOX = "☐";
    private static final String CHECKED_BOX = "☑";
    static Chunk square = new Chunk("o", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // ç©ºæ–¹æ¡†
@@ -69,11 +76,17 @@
        List<ApproveRecord> records = approveRecordService.lambdaQuery().eq(ApproveRecord::getProcessInstanceId, processInstanceId).orderByAsc(ApproveRecord::getCreateTime).list();
        for(int i=0;i<records.size();i++){
            ApproveRecord record = records.get(i);
            if(record.getNcNodeId() ==null){
                continue;
                //continue;
            }
            printStep(document,bfChinese,record);
            HistoricProcessInstance ins = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult();
            List<HistoricActivityInstance> activitiys = historyService.createHistoricActivityInstanceQuery()
                .processInstanceId(processInstanceId)
                .list();
            printStep(document,bfChinese,record,ins);
            if(i<records.size()-1){
                document.newPage();
            }
@@ -82,12 +95,16 @@
        document.close();
    }
    void printStep(Document document,BaseFont bfChinese,ApproveRecord record) throws DocumentException, IOException {
    void printStep(Document document,BaseFont bfChinese,ApproveRecord record,HistoricProcessInstance ins) throws DocumentException, IOException {
        NcNode programPackageNode;
        Machine machine;
        Map<String,Object> vars = ins.getProcessVariables();
        //activitiy.stream().filter(HistoricActivityInstance::get)
        if(record.getNcNodeId() !=null ) {
            programPackageNode = ncNodeService.getById(record.getNcNodeId());
            machine = machineService.getByCode(programPackageNode.getMachineCode());
            //programPackageNode = ncNodeService.getById(record.getNcNodeId());
            String machineCode = String.valueOf(vars.get(FlowContants.MACHINE_CODE));
            //machine = machineService.getByCode(programPackageNode.getMachineCode());
            machine = machineService.getByCode(machineCode);
        }else{
            programPackageNode = new NcNode();
            machine = new Machine();
@@ -124,10 +141,12 @@
        //PdfPCell cell12 = new PdfPCell();
        //cell12.setColspan(2);
        //cell12.addElement(new Phrase(ncProgram.getDrawingNo()));
        table.addCell(getCell(programPackageNode.getDrawingNo(),ft));//零组件号
        table.addCell(getCell(programPackageNode.getProcessNo(),ft));//工序号
        table.addCell(getCell(programPackageNode.getCraftEdition(),ft));//工艺版次
        String drawingNo = vars.get(FlowContants.DRAWING_NO)+"";
        table.addCell(getCell(drawingNo,ft));//零组件号
        String processNo = vars.get(FlowContants.PROCESS_NO)+"";
        table.addCell(getCell(processNo,ft));//工序号
        String craftEdition = vars.get(FlowContants.CRAFT_EDITION)+"";
        table.addCell(getCell(craftEdition,ft));//工艺版次
        table.addCell(getCell(machine.getName(),ft));//机床型号
        table.addCell("");//负责人,工段负责人派出时间
@@ -210,7 +229,8 @@
        PdfPCell cell2 = new PdfPCell();
        cell2.setColspan(2);
        cell2.addElement(new Phrase(programPackageNode.getProgramNo(),ft));//数控程序编号
        //cell2.addElement(new Phrase(programPackageNode.getProgramNo(),ft));//数控程序编号
        cell2.addElement(new Phrase("00001",ft));
        table.addCell(cell2);
        String pDateStr = " ";
blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java
@@ -4,6 +4,7 @@
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.gkw.programnode.entity.MachineFile;
@@ -33,10 +34,11 @@
    @Autowired
    private IDictBizClient bizDictClient;
    @ApiLog
    @GetMapping("/dict-biz")
    @Operation(summary = "替换注释", description = "test扫描")
    public R<List<DictBiz>> giz(String code) throws IOException {
        log.info("pure中的日志");
        return this.bizDictClient.getList(code);
    }
blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
@@ -96,10 +96,10 @@
    }
    @GetMapping("/dict-biz")
    @Operation(summary = "替换注释", description = "test扫描")
    @Operation(summary = "biz", description = "test扫描")
    public R<List<DictBiz>> giz(String code) throws IOException {
        return this.bizDictClient.getList(code);
        log.info("mytset中的日志");
        return this.bizDictClient.getList    (code);
    }
}
blade-service/blade-mdm/src/main/resources/log/logback-dev.xml
@@ -1,140 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds">
    <!--包含etl tool çš„logback文件-->
    <include resource="logback/logback.xml"/>
    <!-- æ—¥å¿—文件输出目录 -->
    <property name="LOG_DIR" value="D:/mdmnew/devlogs" />
    <property name="APP_NAME" value="mdm-appdev" />
    <!-- è‡ªå®šä¹‰å‚数监听 -->
    <contextListener class="org.springblade.core.log.listener.LoggerStartupListener"/>
    <springProperty scope="context" name="springAppName" source="spring.application.name"/>
    <!-- å½©è‰²æ—¥å¿—依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- å½©è‰²æ—¥å¿—格式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!-- æŽ§åˆ¶å°è¾“出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
           <!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
            <pattern>%d{HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- ä¸»æ—¥å¿—文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>
        <file>${LOG_DIR}/${APP_NAME}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/${APP_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
        <!-- æ»šåŠ¨ç­–ç•¥ -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- æŒ‰æ—¥æœŸå’Œå¤§å°æ»šåЍ -->
            <fileNamePattern>${LOG_PATH}/mdm-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- å•个文件最大大小 -->
            <maxFileSize>100MB</maxFileSize>
            <!-- ä¿ç•™æœ€å¤š30天的日志 -->
            <maxHistory>30</maxHistory>
            <!-- æ‰€æœ‰æ—¥å¿—文件总大小限制 -->
            <totalSizeCap>2GB</totalSizeCap>
        </rollingPolicy>
    </appender>
    <if condition='property("ELK_MODE").toUpperCase().contains("TRUE")'>
        <then>
            <!-- æŽ¨é€æ—¥å¿—至elk -->
            <appender name="STDOUT_LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
                <destination>${DESTINATION}</destination>
                <!-- æ—¥å¿—输出编码 -->
                <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
                    <providers>
                        <timestamp>
                            <timeZone>UTC</timeZone>
                        </timestamp>
                        <pattern>
                            <pattern>
                                {
                                "traceId": "%X{traceId}",
                                "requestId": "%X{requestId}",
                                "accountId": "%X{accountId}",
                                "tenantId": "%X{tenantId}",
                                "logLevel": "%level",
                                "serviceName": "${springAppName:-SpringApp}",
                                "pid": "${PID:-}",
                                "thread": "%thread",
                                "class": "%logger{40}",
                                "line":"%L",
                                "message": "%message"
                                }
                            </pattern>
                        </pattern>
                        <mdc/>
                        <stackTrace/>
                    </providers>
                </encoder>
            </appender>
        </then>
    </if>
    <!-- æ—¥å¿—输出级别 -->
    <!-- ä¸“门记录org.springblade.mdm包的日志 -->
    <appender name="MDM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_DIR}/mdmdev-core.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/mdm-coredev.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- æ ¹æ—¥å¿—级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="${STDOUT_APPENDER}"/>
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
    <logger name="net.sf.ehcache" level="INFO"/>
    <logger name="druid.sql" level="INFO"/>
    <!-- MyBatis log configure -->
    <logger name="com.apache.ibatis" level="INFO"/>
    <logger name="org.mybatis.spring" level="INFO"/>
    <logger name="java.sql.Connection" level="INFO"/>
    <logger name="java.sql.Statement" level="INFO"/>
    <logger name="java.sql.PreparedStatement" level="INFO"/>
    <!-- å‡å°‘部分debug日志 -->
    <logger name="druid.sql" level="INFO"/>
    <logger name="org.apache.shiro" level="INFO"/>
    <logger name="org.mybatis.spring" level="INFO"/>
    <logger name="org.springframework" level="INFO"/>
    <logger name="org.springframework.context" level="WARN"/>
    <logger name="org.springframework.beans" level="WARN"/>
    <logger name="com.baomidou.mybatisplus" level="INFO"/>
    <logger name="org.apache.ibatis.io" level="INFO"/>
    <logger name="org.apache.velocity" level="INFO"/>
    <logger name="org.eclipse.jetty" level="INFO"/>
    <logger name="io.undertow" level="INFO"/>
    <logger name="org.xnio.nio" level="INFO"/>
    <logger name="org.thymeleaf" level="INFO"/>
    <logger name="springfox.documentation" level="INFO"/>
    <logger name="org.hibernate.validator" level="INFO"/>
    <logger name="com.netflix.loadbalancer" level="INFO"/>
    <logger name="com.netflix.hystrix" level="INFO"/>
    <logger name="com.netflix.zuul" level="INFO"/>
    <logger name="de.codecentric" level="INFO"/>
    <!-- cache INFO -->
    <logger name="net.sf.ehcache" level="INFO"/>
    <logger name="org.springframework.cache" level="INFO"/>
    <!-- cloud -->
    <logger name="org.apache.http" level="INFO"/>
    <logger name="com.netflix.discovery" level="INFO"/>
    <logger name="com.netflix.eureka" level="INFO"/>
    <!-- ä¸šåŠ¡æ—¥å¿— -->
    <Logger name="org.springblade.mdm" level="INFO"/>
    <Logger name="org.springblade.core.tenant" level="INFO"/>
    <Logger name="org.springblade.core.version" level="INFO"/>
    <!-- å‡å°‘nacos日志 -->
    <logger name="com.alibaba.nacos" level="ERROR"/>
    <logger name="RocketmqClient" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="STDOUT"/>
    <!-- ä¸“门配置org.springblade.mdm包的日志 -->
    <logger name="org.springblade.mdm" level="DEBUG" additivity="false">
        <appender-ref ref="MDM_FILE" />
        <appender-ref ref="CONSOLE" />
    </logger>
</configuration>
blade-service/blade-mdm/src/main/resources/logback-spring.xml
ÎļþÒÑɾ³ý
blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
@@ -11,7 +11,7 @@
public class ApproveTableServiceTest {
    @Test
    public void test(){
        ApproveTableService s = new ApproveTableService(null,null,null,null);
        ApproveTableService s = new ApproveTableService(null,null,null,null,null);
        try {
            //s.exportApproveTable("1",new FileOutputStream("d:/t.pdf"));
        } catch (Exception e) {
blade-service/blade-mdm/src/test/java/org/springblade/mdm/utils/CustomBinaryReaderTest.java
@@ -1,6 +1,7 @@
package org.springblade.mdm.utils;
import org.junit.jupiter.api.Test;
import org.springblade.core.log.listener.LoggerStartupListener;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -13,5 +14,7 @@
        FileOutputStream fos = new FileOutputStream("d:/ddddreadout.zip");
        CustomBinaryReader.read(fis,fos);
        LoggerStartupListener j;
    }
}