浏览代码

上架修改盘点

wangxin 2 天之前
父节点
当前提交
9fc4b8f7e9

+ 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 = "/home/files/dms/upload/carrierNum.txt";
+            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 LoggerUtil loggerUtil;
+
+    public SomeService() {
+        this.loggerUtil = new LoggerUtil();
+    }
+
+    public void someMethod( String log) {
+        loggerUtil.logInfo(log);
+        // 其他日志记录操作
+    }
+
+    public void onDestroy() {
+        loggerUtil.closeLogger();
+    }
+}

+ 19 - 11
src/main/java/cn/ezhizao/project/business/controller/BizInboundOrderController.java

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.controller;
 
+import cn.ezhizao.framework.logGing.SomeService;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.project.business.domain.*;
@@ -124,20 +125,27 @@ public class BizInboundOrderController extends BaseController {
         });
         bizInboundOrderService .updateBatchById(list);
 
-        //查找当天是否有盘点数据
-        List<BizTakeStockPeriod> periods = bizTakeStockPeriodService.query().eq("start_time", DateTime.now().toString("yyyy-MM-dd")).orderByDesc("create_time").list();
-        //如果当天有盘点数据,根据details入库单明细的批次id,将periods当天最新创建的盘点数据中的入库字段设为1,表示该批次已入库
-        if (!periods.isEmpty()) {
-            //拿到入库单明细的批次id进行去重
-            List<Long> uniqueLotIdList = details.stream().map(BizInboundOrderDetail::getLotId).distinct().collect(Collectors.toList());
+        //添加异常处理,如果出现异常,则创建异常日志并正常返回
+        try {
+            //查找当天是否有盘点数据
+            List<BizTakeStockPeriod> periods = bizTakeStockPeriodService.query().eq("start_time", DateTime.now().toString("yyyy-MM-dd")).orderByDesc("create_time").list();
+            //如果当天有盘点数据,根据details入库单明细的批次id,将periods当天最新创建的盘点数据中的入库字段设为1,表示该批次已入库
+            if (!periods.isEmpty()) {
+                //拿到入库单明细的批次id进行去重
+                List<Long> uniqueLotIdList = details.stream().map(BizInboundOrderDetail::getLotId).distinct().collect(Collectors.toList());
 
-            BizTaksStockLot taksStockLot = new BizTaksStockLot();
-            taksStockLot.setTakeStockPeriodId(periods.get(0).getId());
-            taksStockLot.setLotIdsForInbound(uniqueLotIdList);
+                BizTaksStockLot taksStockLot = new BizTaksStockLot();
+                taksStockLot.setTakeStockPeriodId(periods.get(0).getId());
+                taksStockLot.setLotIdsForInbound(uniqueLotIdList);
 
-            //根据盘点id和批次id修改盘点明细中批次的入库状态
-            bizTaksStockLotService.updateBatchByIdsForInbound(taksStockLot);
+                //根据盘点id和批次id修改盘点明细中批次的入库状态
+                bizTaksStockLotService.updateBatchByIdsForInbound(taksStockLot);
 
+            }
+        } catch (Exception e) {
+            SomeService service=new SomeService();
+            service.someMethod("上架修改盘点数据异常:"+e.getMessage()+"。 入库数据:"+details);
+            service.onDestroy();
         }
 
         return success("更新成功");