Browse Source

箱数日志

wangxin 6 months ago
parent
commit
aa0154bb71

+ 53 - 0
src/main/java/cn/ezhizao/framework/logGing/LoggerUtil.java

@@ -0,0 +1,53 @@
+package cn.ezhizao.framework.logGing;
+
+import org.springframework.beans.factory.annotation.Value;
+
+import java.io.IOException;
+import java.util.logging.FileHandler;
+import java.util.logging.Logger;
+import java.util.logging.SimpleFormatter;
+
+public class LoggerUtil {
+
+    @Value("${file.upload.path}")
+    private String uploadPath;
+
+    private final Logger logger = Logger.getLogger(LoggerUtil.class.getName());
+    private FileHandler fileHandler = null;
+
+    public LoggerUtil() {
+        try {
+            // 设置日志文件的路径和文件名
+            String logFileName = uploadPath+"carrierNum.log";
+            fileHandler = new FileHandler(logFileName, true); // true表示追加模式
+            fileHandler.setFormatter(new SimpleFormatter());
+
+            // 将FileHandler添加到Logger中
+            logger.addHandler(fileHandler);
+        } catch (IOException e) {
+            // 处理异常
+            logger.warning("无法初始化日志文件: " + e.getMessage());
+        }
+    }
+
+    public void logInfo(String message) {
+        logger.info(message);
+    }
+
+    public void logWarning(String message) {
+        logger.warning(message);
+    }
+
+    public void logSevere(String message) {
+        logger.severe(message);
+    }
+
+    // 修改为非静态方法,关闭日志文件
+    public void closeLogger() {
+        if (fileHandler != null) {
+            logger.removeHandler(fileHandler);
+            fileHandler.close();
+            fileHandler = null;
+        }
+    }
+}

+ 19 - 0
src/main/java/cn/ezhizao/framework/logGing/SomeService.java

@@ -0,0 +1,19 @@
+package cn.ezhizao.framework.logGing;
+
+public class SomeService {
+
+    private final cn.ezhizao.framework.logGing.LoggerUtil loggerUtil;
+
+    public SomeService() {
+        this.loggerUtil = new cn.ezhizao.framework.logGing.LoggerUtil();
+    }
+
+    public void someMethod( String log) {
+        loggerUtil.logInfo(log);
+        // 其他日志记录操作
+    }
+
+    public void onDestroy() {
+        loggerUtil.closeLogger();
+    }
+}

+ 2 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItem.java

@@ -304,4 +304,6 @@ public class BizDayworkItem extends BaseEntity
     private Integer lineNumber;
     @TableField(exist = false)
     private Integer adoptStatus;
+    @TableField(exist = false)
+    private String message;
 }

+ 60 - 2
src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkItemServiceImpl.java

@@ -1,15 +1,21 @@
 package cn.ezhizao.project.business.product.service.impl;
 
+
+import cn.ezhizao.framework.logGing.SomeService;
 import cn.ezhizao.project.business.product.domain.BizDaywork;
 import cn.ezhizao.project.business.product.domain.BizDayworkCarrier;
 import cn.ezhizao.project.business.product.domain.BizDayworkItem;
 import cn.ezhizao.project.business.product.mapper.BizDayworkCarrierMapper;
 import cn.ezhizao.project.business.product.mapper.BizDayworkItemMapper;
 import cn.ezhizao.project.business.product.service.IBizDayworkItemService;
+import cn.ezhizao.project.business.technologicalProcessDetailDrawing.domain.BizTechnologicalProcessDetailDrawing;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -141,23 +147,75 @@ public class BizDayworkItemServiceImpl  extends ServiceImpl<BizDayworkItemMapper
          * 3.将对应的箱数保存到dayworkItem中
          */
 
-        //将工序已完成status='3'的数据筛选出来
+
+
         List<BizDayworkItem> dayworkItemList=dayworkItems.stream().filter(item -> "3".equals(item.getStatus())).collect(Collectors.toList());
+
+
+
+
         if(!dayworkItemList.isEmpty()){
+            //创建log数据
+            List<BizDayworkItem> logList = new ArrayList<>();
+            // 获取当前时间
+            LocalDateTime now = LocalDateTime.now();
+
+            // 定义时间格式
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+            // 将当前时间格式化为字符串
+            String formattedTime = now.format(formatter);
+            StringBuffer message=new StringBuffer();
+            message.append(formattedTime).append(" 开始:\n");
+
+            //将工序已完成status='3'的数据筛选出来
+            message.append("报工数据:    ");
+            // 报工数据
+            message.append("dayworkId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getDayworkId())).toArray(String[]::new))).append("  ").append("批次号:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getLotCode).toArray(String[]::new))).append("  ").append("LotId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getLotId())).toArray(String[]::new))).append("  ").append("员工编号: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getUserName).toArray(String[]::new))).append("  ").append("员工姓名: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getNickName).toArray(String[]::new))).append("  ").append("dayworkItemId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getId())).toArray(String[]::new))).append("  ").append("创建时间:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getCreateTime())).toArray(String[]::new))).append("  ").append("修改时间:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getUpdateTime())).toArray(String[]::new))).append("  ").append("箱数:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getCarrierNum())).toArray(String[]::new))).append("\n");
+
+
             // 提取dayworkId到一个新的集合中
             List<Long> dayworkIds = dayworkItemList.stream()
                     .map(BizDayworkItem::getDayworkId) // 提取dayworkId
                     .collect(Collectors.toList()); // 收集到新的列表中
-
             //根据dayworkId查询绑定信息只查询蓝箱子和铁箱子
             List<BizDayworkCarrier> dayworkCarriers=bizDayworkCarrierMapper.getListBayDayworkId(dayworkIds);
+            message.append("载具信息:    ").append(String.join(System.lineSeparator(), dayworkCarriers.stream()
+                    .map(BizDayworkCarrier::toString)
+                    .toArray(String[]::new))).append("\n");;
+
             Map<Long, Integer> countsByDayworkId = dayworkCarriers.stream().collect(Collectors.groupingBy(BizDayworkCarrier::getDayworkId,Collectors.summingInt(carrier -> 1)));
 
             //将对应的箱数保存到dayworkItem中
             for (BizDayworkItem dayworkItem:dayworkItemList){
                 dayworkItem.setCarrierNum(countsByDayworkId.get(dayworkItem.getDayworkId()));
             }
+
             super.saveOrUpdateBatch(dayworkItemList);
+            //报工数据
+            message.append("最终数据:    ");
+            message.append("dayworkId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getDayworkId())).toArray(String[]::new))).append("  ").append("批次号:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getLotCode).toArray(String[]::new))).append("  ").append("LotId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getLotId())).toArray(String[]::new))).append("  ").append("员工编号: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getUserName).toArray(String[]::new))).append("  ").append("员工姓名: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(BizDayworkItem::getNickName).toArray(String[]::new))).append("  ").append("dayworkItemId: ").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getId())).toArray(String[]::new))).append("  ").append("创建时间:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getCreateTime())).toArray(String[]::new))).append("  ").append("修改时间:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getUpdateTime())).toArray(String[]::new))).append("  ").append("箱数:").append(String.join(System.lineSeparator(), dayworkItems.stream()
+                    .map(item -> String.valueOf(item.getCarrierNum())).toArray(String[]::new))).append("结束----------------------------------------------------------").append("\n");
+            SomeService service=new SomeService();
+            service.someMethod(message.toString());
+            service.onDestroy();
 
         }