refactor(buildpackage): 重构打印OFS单号的方法

- 在多个类中添加 printOfsDocCode 方法,用于打印OFS单号
- 优化原有的 splicingPrintingOrderNumber 方法,提高代码可读性和可维护性
-统一错误日志格式,增加异常信息打印
This commit is contained in:
liuy 2025-01-06 11:05:14 +08:00
parent 41ea6e1f40
commit e568ae8549
7 changed files with 254 additions and 10 deletions

View File

@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* O采购入库(委外加工类型)->U8C委外订单
@ -225,6 +226,8 @@ public class ConsignmachiningIn extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
logger.info("插件:{} O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime);
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate<StockinOrderSearchResponse.StockinOrder>() {
@Override
@ -1067,4 +1070,35 @@ public class ConsignmachiningIn extends PluginBaseEntity {
logger.error("记录splitDateAndPush方法抛出的异常", e);
}
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList, String startTime, String endTime) {
Assert.notNull(returnGoodHeaderDetailsDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = returnGoodHeaderDetailsDataDtoArrayList.stream().map(returnGoodHeaderDetailsDataDto -> returnGoodHeaderDetailsDataDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("插件:{},打印拉取到的单据号出错", getPluginName(), e);
}
}
}

View File

@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* O采退出库->(关联之前正向的委外订单)U8C红字委外入库单
@ -227,6 +228,8 @@ public class ConsignmachiningInReturn extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search");
logger.info("插件:{} O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime);
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
getSet(returnGoodHeaderDetailsDataDtoArrayList);
} else {
@ -1246,4 +1249,34 @@ public class ConsignmachiningInReturn extends PluginBaseEntity {
return bdInvbasdocEntity2.get(0);
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<HeaderDetailsDto> headerDetailsDtos, String startTime, String endTime) {
Assert.notNull(headerDetailsDtos, "headerDetailsDtos不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = headerDetailsDtos.stream().map(returnGoodHeaderDetailsDataDto -> returnGoodHeaderDetailsDataDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("插件:{},打印拉取到的单据号出错", getPluginName(), e);
}
}
}

View File

@ -224,6 +224,8 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.shipment.search");
logger.info("插件:{} O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime);
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate<HeaderDetailsDto>() {
@Override
@ -1047,4 +1049,35 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
logger.info("记录splitDateAndPush方法抛出的异常", e);
}
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<HeaderDetailsDto> returnGoodHeaderDetailsDataDtoArrayList, String startTime, String endTime) {
Assert.notNull(returnGoodHeaderDetailsDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = returnGoodHeaderDetailsDataDtoArrayList.stream().map(returnGoodHeaderDetailsDataDto -> returnGoodHeaderDetailsDataDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("插件:{},打印拉取到的单据号出错", getPluginName(), e);
}
}
}

View File

@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* 代理品牌采购业务代理品牌采购OFS采购订单生成U8C采购订单
@ -223,6 +224,8 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsPoOrder(queryOfsSoSaleOutVo, allOfsPoOrderList, 1L);
logger.info("插件:{} O接口返回行数{} 时间段:{} {}", getPluginName(), allOfsPoOrderList.size(), startTime, endTime);
printOfsDocCode(allOfsPoOrderList, startTime, endTime);
if (allOfsPoOrderList.size() > 0) {
allOfsPoOrderList.removeIf(new Predicate<OfsPoOrderData>() {
@Override
@ -974,4 +977,35 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
logger.info("记录splitDateAndPush方法抛出的异常", e);
}
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<OfsPoOrderData> allOfsPoOrderList, String startTime, String endTime) {
Assert.notNull(allOfsPoOrderList, "allOfsPoOrderList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = allOfsPoOrderList.stream().map(returnGoodHeaderDetailsDataDto -> returnGoodHeaderDetailsDataDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("插件:{},打印拉取到的单据号出错", getPluginName(), e);
}
}
}

View File

@ -32,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* 代理品牌采购业务代理品牌采购OFS采购入库单生成U8C采购入库单(关联原采购订单)
@ -221,6 +222,8 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
logger.info("插件:{} O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime);
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate<StockinOrderSearchResponse.StockinOrder>() {
@Override
@ -1034,4 +1037,35 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
Assert.state(false, "无法匹配到U8C采购订单明细行refOrderDetailId{}", stockinB.getRefOrderDetailId());
return null;
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList, String startTime, String endTime) {
Assert.notNull(returnGoodHeaderDetailsDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = returnGoodHeaderDetailsDataDtoArrayList.stream().map(returnGoodHeaderDetailsDataDto -> returnGoodHeaderDetailsDataDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("插件:{},打印拉取到的单据号出错", getPluginName(), e);
}
}
}

View File

@ -29,6 +29,7 @@ import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto;
import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
import com.hzya.frame.ttxofs.service.OfsUnifiedService;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
@ -154,12 +155,10 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
}
} else {
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
//TODO 临时程序,删除U8C历史数据
//TODO 临时程序,删除U8C历史数据
deleteU8cDataUtil.deleteTargetU8cData();
//临时程序,删除U8C历史数据
// deleteU8cDataUtil.deleteTargetU8cData();
//实时执行每1分钟调度一次
StartAndEndVo startAndEndVo = offsetTimeTime.offsetTime();
StartAndEndVo startAndEndVo = offsetTimeTime.getCurrentDateRange();
startImplementByStockTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
startImplementByTranTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
}
@ -284,7 +283,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004");
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
logger.info("插件:{} (库存)O接口返回行数{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime);
splicingPrintingOrderNumber(headerDetailsDtoList, "stock", startTime, endTime, null);
// splicingPrintingOrderNumber(headerDetailsDtoList, "stock", startTime, endTime, null);
printOfsDocCode(headerDetailsDtoList, startTime, endTime, "出库");
if (headerDetailsDtoList.size() > 0) {
headerDetailsDtoList.removeIf(new Predicate<HeaderDetailsDto>() {
@Override
@ -342,7 +343,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
queryOfsSoSaleOutVo.setStoreCode(tobShop);
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
logger.info("插件:{} (确认收入)O接口返回行数{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime);
splicingPrintingOrderNumber(headerDetailsDtoList, "tran", startTime, endTime, null);
// splicingPrintingOrderNumber(headerDetailsDtoList, "tran", startTime, endTime, null);
printOfsDocCode(headerDetailsDtoList, startTime, endTime, "确认收入");
if (headerDetailsDtoList.size() > 0) {
headerDetailsDtoList.removeIf(new Predicate<HeaderDetailsDto>() {
@Override
@ -2884,4 +2887,39 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
calculationFormulaStr.append(format);
return amountOfMoney.stripTrailingZeros().toPlainString();
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<HeaderDetailsDto> headerDetailsDtoList, String startTime, String endTime, String type) {
Assert.notNull(headerDetailsDtoList, "headerDetailsDtoList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(type);
stringBuffer.append(" ");
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = headerDetailsDtoList.stream().map(headerDetailsDto -> headerDetailsDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("{} 插件:{},打印拉取到的单据号出错", type, getPluginName(), e);
}
}
}

View File

@ -132,7 +132,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
} else {
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
//实时执行每1分钟调度一次
StartAndEndVo startAndEndVo = offsetTimeTime.offsetTime();
StartAndEndVo startAndEndVo = offsetTimeTime.getCurrentDateRange();
startImplementByStockTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
startImplementByTradeTime(startAndEndVo.getStart_time(), startAndEndVo.getEnd_time());
}
@ -271,7 +271,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
// queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001");
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
logger.info("插件:{} (库存)O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "stock", startTime, endTime, null);
// splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "stock", startTime, endTime, null);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime, "入库");
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate<StockinOrderSearchResponse.StockinOrder>() {
@Override
@ -331,7 +333,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
// queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001");
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");
logger.info("插件:{} (确认收入)O接口返回行数{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime);
splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "tran", startTime, endTime, null);
// splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "tran", startTime, endTime, null);
printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime, "确认收入");
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate<StockinOrderSearchResponse.StockinOrder>() {
@Override
@ -2702,4 +2706,38 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
calculationFormulaStr.append(format);
return amountOfMoney.stripTrailingZeros().toPlainString();
}
/**
* 打印OFS单号
*
* @author liuyang
*/
private void printOfsDocCode(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList, String startTime, String endTime, String type) {
Assert.notNull(returnGoodHeaderDetailsDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
Assert.notNull(startTime, "startTime不能为空");
Assert.notNull(endTime, "endTime不能为空");
try {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(type);
stringBuffer.append(" ");
stringBuffer.append("插件:");
stringBuffer.append(getPluginName());
stringBuffer.append(" ");
stringBuffer.append("开始时间:");
stringBuffer.append(startTime);
stringBuffer.append("结束时间:");
stringBuffer.append(endTime);
stringBuffer.append(" ");
stringBuffer.append("获取到的单号:");
String codes = returnGoodHeaderDetailsDataDtoArrayList.stream().map(headerDetailsDto -> headerDetailsDto.getHeader().getCode()).collect(Collectors.joining(","));
stringBuffer.append(codes);
logger.info(stringBuffer.toString());
} catch (Exception e) {
logger.error("{} 插件:{},打印拉取到的单据号出错", type, getPluginName(), e);
}
}
}