异常处理:为销售和退货同步方法添加try-catch块

为销售和退货同步方法(startImplement...)添加try-catch块,以处理可能的异常并记录错误。改进了方法
的健壮性,确保在遇到异常时能够优雅地处理,避免程序崩溃。
This commit is contained in:
liuy 2024-09-25 16:58:30 +08:00
parent 683593724d
commit 34097c86b1
5 changed files with 354 additions and 300 deletions

View File

@ -236,6 +236,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByStockTime(String startTime, String endTime) throws Exception { public void startImplementByStockTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStr = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单开始 同步日期:{} 汇总维度:{}", startTime, endTime); String threadNameStr = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单开始 同步日期:{} 汇总维度:{}", startTime, endTime);
logger.info(threadNameStr); logger.info(threadNameStr);
@ -269,6 +270,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameEnd = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单结束 同步日期:{} 汇总维度:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameEnd = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单结束 同步日期:{} 汇总维度:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameEnd); logger.info(threadNameEnd);
} catch (Exception e) {
logger.error("startImplementByStockTime方法抛出异常", e);
}
} }
/** /**
@ -277,6 +281,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByTranTime(String startTime, String endTime) throws Exception { public void startImplementByTranTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS销售出库(TOB交易成功)同步U8C销售发票开始 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("OFS销售出库(TOB交易成功)同步U8C销售发票开始 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -310,6 +315,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS销售出库(TOB交易成功)同步U8C销售发票结束 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS销售出库(TOB交易成功)同步U8C销售发票结束 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByTranTime方法不能为空", e);
}
} }
/** /**
@ -318,6 +326,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByCode(String code, String sceneType) throws Exception { public void startImplementByCode(String code, String sceneType) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单开始 出库单单号:{}", code); String threadNameStrStart = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单开始 出库单单号:{}", code);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -351,6 +360,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单结束 出库单单号:{} 耗时:{}", code, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS销售出库(TOB)同步U8C销售订单结束 出库单单号:{} 耗时:{}", code, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByCode方法抛出异常", e);
}
} }
/** /**

View File

@ -194,6 +194,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementStockByTime(String startTime, String endTime) throws Exception { public void startImplementStockByTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("开始 OFS销售出库(TOC)同步U8C销售订单 开始 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("开始 OFS销售出库(TOC)同步U8C销售订单 开始 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -228,6 +229,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("结束 OFS销售出库(TOC)同步U8C销售订单 结束 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("结束 OFS销售出库(TOC)同步U8C销售订单 结束 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementStockByTime方法抛出异常", e);
}
} }
/** /**
@ -237,6 +241,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementStockByCode(String code, String sceneType) throws Exception { public void startImplementStockByCode(String code, String sceneType) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 开始 出库单单据号:{}", code); String threadNameStrStart = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 开始 出库单单据号:{}", code);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -269,6 +274,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 结束 出库单单据号:{} 耗时:{}", code, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS销售出库(TOC)同步U8C销售订单 结束 出库单单据号:{} 耗时:{}", code, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementStockByCode不能为空", e);
}
} }
/** /**
@ -279,6 +287,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementTranByTime(String startTime, String endTime) throws Exception { public void startImplementTranByTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("开始OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("开始OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -314,6 +323,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("结束OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("结束OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementTranByTime方法抛出异常", e);
}
} }
/** /**

View File

@ -237,6 +237,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByStockTime(String startTime, String endTime) throws Exception { public void startImplementByStockTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -269,6 +270,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByStockTime方法抛出异常", e);
}
} }
/** /**
@ -277,6 +281,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByTradeTime(String startTime, String endTime) throws Exception { public void startImplementByTradeTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -311,6 +316,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByTradeTime方法抛出异常", e);
}
} }
/** /**
@ -319,6 +327,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByCode(String code, String sceneType) throws Exception { public void startImplementByCode(String code, String sceneType) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 售后入库单号:{}", code); String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 售后入库单号:{}", code);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -355,6 +364,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 售后入库单号:{} 耗时:{}", code, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 售后入库单号:{} 耗时:{}", code, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByCode方法抛出异常", e);
}
} }
/** /**

View File

@ -186,6 +186,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementStockByTime(String startTime, String endTime) throws Exception { public void startImplementStockByTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("开始-OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("开始-OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -221,6 +222,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("结束-OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("结束-OFS销售出库(TOC)同步U8C销售订单 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementStockByTime方法抛出异常", e);
}
} }
/** /**
@ -273,6 +277,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
* @author liuyang * @author liuyang
*/ */
public void startImplementByTradeTime(String startTime, String endTime) throws Exception { public void startImplementByTradeTime(String startTime, String endTime) throws Exception {
try {
long startMillis = System.currentTimeMillis(); long startMillis = System.currentTimeMillis();
String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime); String threadNameStrStart = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{}", startTime, endTime);
logger.info(threadNameStrStart); logger.info(threadNameStrStart);
@ -306,6 +311,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
long endMillis = System.currentTimeMillis(); long endMillis = System.currentTimeMillis();
String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis)); String threadNameStrEnd = StrUtil.format("OFS售后入库(TOB)同步U8C销售订单(库存同步) 开始时间:{} 结束时间:{} 耗时:{}", startTime, endTime, (endMillis - startMillis));
logger.info(threadNameStrEnd); logger.info(threadNameStrEnd);
} catch (Exception e) {
logger.error("startImplementByTradeTime方法抛出异常", e);
}
} }
/** /**

View File

@ -5,6 +5,7 @@ import com.hzya.frame.plugin.lets.ofs.dao.ITocofsSaleoutDetailedDao;
import com.hzya.frame.plugin.lets.ofs.entity.TocofsSaleoutDetailedEntity; import com.hzya.frame.plugin.lets.ofs.entity.TocofsSaleoutDetailedEntity;
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
import com.hzya.frame.plugin.lets.u8cdto.ErrorHeaderDetailsDtoDto; import com.hzya.frame.plugin.lets.u8cdto.ErrorHeaderDetailsDtoDto;
import com.hzya.frame.plugin.lets.util.OfsStandardUtil;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -34,6 +35,9 @@ class SoSaleOutPluginInitializerToCTest {
@Autowired @Autowired
private ITocofsSaleoutDetailedDao iTocofsSaleoutDetailedDao; private ITocofsSaleoutDetailedDao iTocofsSaleoutDetailedDao;
@Autowired
private OfsStandardUtil ofsStandardUtil;
@Test @Test
void startImplement() throws Exception { void startImplement() throws Exception {
// soSaleOutPluginInitializerToC.startImplement(null, null); // soSaleOutPluginInitializerToC.startImplement(null, null);
@ -81,6 +85,12 @@ class SoSaleOutPluginInitializerToCTest {
// String s = "LETS-SH2024073100000004"; // String s = "LETS-SH2024073100000004";
// soSaleOutPluginInitializerToC.startImplementStockByCode(s, "stock"); // soSaleOutPluginInitializerToC.startImplementStockByCode(s, "stock");
soSaleOutPluginInitializerToC.startImplementStockByTime("2024-09-24 16:35:43","2024-09-24 16:35:45"); // soSaleOutPluginInitializerToC.startImplementStockByTime("2024-09-24 16:35:43","2024-09-24 16:35:45");
List<com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto> headerDetailsDtoArrayList = new ArrayList<>();
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
queryOfsSoSaleOutVo.setCode("LETS-SO2024092500000018");
ofsStandardUtil.getOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoArrayList, 1L);
System.out.println(headerDetailsDtoArrayList.get(0).getHeader().getDepartmentType());
} }
} }