丽知:调出调入加锁

This commit is contained in:
zhengyf 2025-02-14 16:16:44 +08:00
parent 0c6174b7f4
commit 218863d9cb
2 changed files with 119 additions and 106 deletions

View File

@ -52,7 +52,7 @@ import java.util.concurrent.locks.ReentrantLock;
public class TransferInPluginInitializer extends PluginBaseEntity { public class TransferInPluginInitializer extends PluginBaseEntity {
Logger logger = LoggerFactory.getLogger(TransferInPluginInitializer.class); Logger logger = LoggerFactory.getLogger(TransferInPluginInitializer.class);
private static final ReentrantLock LOCK = new ReentrantLock(true); private static final Object OBJECT_LOCK = new Object();
@Override @Override
public void initialize() { public void initialize() {
@ -152,29 +152,32 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
*/ */
public void start() { public void start() {
try { try {
//获取当前时间 synchronized (OBJECT_LOCK) {
Date currentDate = new Date();
Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10);
Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2);
String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss");
String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss");
QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); //获取当前时间
queryOfsStockinOrderRequestVO.setClosedAt_start(startTimeStr); Date currentDate = new Date();
queryOfsStockinOrderRequestVO.setClosedAt_end(endTimeStr); Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2);
queryOfsStockinOrderRequestVO.setStatus("900"); String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss");
if (transferInOrder == null || transferInOrder.size() == 0) { QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO();
return; queryOfsStockinOrderRequestVO.setClosedAt_start(startTimeStr);
queryOfsStockinOrderRequestVO.setClosedAt_end(endTimeStr);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) {
return;
}
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
return;
}
implement(filterTransferInOrders);
} }
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
return;
}
implement(filterTransferInOrders);
} catch (Exception e) { } catch (Exception e) {
@ -187,23 +190,24 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
*/ */
public void start(String stockinNo) { public void start(String stockinNo) {
try { try {
synchronized (OBJECT_LOCK) {
QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO();
queryOfsStockinOrderRequestVO.setCode(stockinNo); queryOfsStockinOrderRequestVO.setCode(stockinNo);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 //状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900"); queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) { if (transferInOrder == null || transferInOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨入库--->U8C调拨入库根据单据号[入库完成]{},未查询到调拨入库单", stockinNo); Assert.state(false, "丽知OFS调拨入库--->U8C调拨入库根据单据号[入库完成]{},未查询到调拨入库单", stockinNo);
}
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨入库--->U8C调拨入库根据单据号[入库完成]{},该调拨入库单已被推送成功,请勿重新推送", stockinNo);
}
implement(filterTransferInOrders);
} }
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨入库--->U8C调拨入库根据单据号[入库完成]{},该调拨入库单已被推送成功,请勿重新推送", stockinNo);
}
implement(filterTransferInOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知OFS调拨入库订单--->U8C调拨入库订单保存签字关联U8C调拨出库单,start(String goodsName)方法报错:", e); logger.error("丽知OFS调拨入库订单--->U8C调拨入库订单保存签字关联U8C调拨出库单,start(String goodsName)方法报错:", e);
@ -216,27 +220,30 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
*/ */
public void start(String startTime, String endTime) { public void start(String startTime, String endTime) {
try { try {
Date business_start = DateUtil.parse(startTime); synchronized (OBJECT_LOCK) {
Date business_end = DateUtil.parse(endTime);
String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00";
String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59";
QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); Date business_start = DateUtil.parse(startTime);
queryOfsStockinOrderRequestVO.setClosedAt_start(start); Date business_end = DateUtil.parse(endTime);
queryOfsStockinOrderRequestVO.setClosedAt_end(end); String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00";
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59";
queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) { QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO();
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨入库单[入库完成]", startTime, endTime); queryOfsStockinOrderRequestVO.setClosedAt_start(start);
queryOfsStockinOrderRequestVO.setClosedAt_end(end);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨入库单[入库完成]", startTime, endTime);
}
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨入库单[入库完成]已被推送成功,请勿重新推送", startTime, endTime);
}
implement(filterTransferInOrders);
} }
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨入库单[入库完成]已被推送成功,请勿重新推送", startTime, endTime);
}
implement(filterTransferInOrders);
} catch (Exception e) { } catch (Exception e) {

View File

@ -58,7 +58,7 @@ import java.util.concurrent.locks.ReentrantLock;
public class TransferOutPluginInitializer extends PluginBaseEntity { public class TransferOutPluginInitializer extends PluginBaseEntity {
Logger logger = LoggerFactory.getLogger(TransferOutPluginInitializer.class); Logger logger = LoggerFactory.getLogger(TransferOutPluginInitializer.class);
private static final ReentrantLock LOCK = new ReentrantLock(true); private static final Object OBJECT_LOCK = new Object();
@Override @Override
public void initialize() { public void initialize() {
@ -153,28 +153,30 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
*/ */
public void start() { public void start() {
try { try {
//获取当前时间 synchronized (OBJECT_LOCK) {
Date currentDate = new Date(); //获取当前时间
Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10); Date currentDate = new Date();
Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2); Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10);
String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss"); Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2);
String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss"); String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss");
String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss");
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
queryOfsStockoutOrderRequestVO.setShipAt_start(startTimeStr); queryOfsStockoutOrderRequestVO.setShipAt_start(startTimeStr);
queryOfsStockoutOrderRequestVO.setShipAt_end(endTimeStr); queryOfsStockoutOrderRequestVO.setShipAt_end(endTimeStr);
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
if (transferOutOrder == null || transferOutOrder.size() == 0) { if (transferOutOrder == null || transferOutOrder.size() == 0) {
return; return;
}
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if (filterTransferOutOrders.size() == 0) {
return;
}
//推送U8C
implement(filterTransferOutOrders);
} }
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if (filterTransferOutOrders.size() == 0) {
return;
}
//推送U8C
implement(filterTransferOutOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start()方法报错:", e); logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start()方法报错:", e);
} }
@ -185,20 +187,22 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
*/ */
public void start(String stockoutNo) { public void start(String stockoutNo) {
try { try {
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); synchronized (OBJECT_LOCK) {
queryOfsStockoutOrderRequestVO.setCode(stockoutNo); QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockoutOrderRequestVO.setCode(stockoutNo);
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
if (transferOutOrder.size() == 0) { List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字未查询到调拨出库单{}", stockoutNo); if (transferOutOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字未查询到调拨出库单{}", stockoutNo);
}
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if (filterTransferOutOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字该调拨出库单{},已被推送成功,请勿重新推送", stockoutNo);
}
//推送U8C
implement(filterTransferOutOrders);
} }
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if (filterTransferOutOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字该调拨出库单{},已被推送成功,请勿重新推送", stockoutNo);
}
//推送U8C
implement(filterTransferOutOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start(String goodsName)方法报错:", e); logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start(String goodsName)方法报错:", e);
@ -210,28 +214,30 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
*/ */
public void start(String startTime, String endTime) { public void start(String startTime, String endTime) {
try { try {
Date business_start = DateUtil.parse(startTime); synchronized (OBJECT_LOCK) {
Date business_end = DateUtil.parse(endTime); Date business_start = DateUtil.parse(startTime);
String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00"; Date business_end = DateUtil.parse(endTime);
String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59"; String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00";
String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59";
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
queryOfsStockoutOrderRequestVO.setShipAt_start(start); queryOfsStockoutOrderRequestVO.setShipAt_start(start);
queryOfsStockoutOrderRequestVO.setShipAt_end(end); queryOfsStockoutOrderRequestVO.setShipAt_end(end);
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
if (transferOutOrder.size() == 0) { if (transferOutOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨出库单[出库完成]", startTime, endTime); Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨出库单[出库完成]", startTime, endTime);
} }
//过滤成功日志 //过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder); List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if (filterTransferOutOrders.size() == 0) { if (filterTransferOutOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨出库单[出库完成]已被推送成功,请勿重新推送", startTime, endTime); Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨出库单[出库完成]已被推送成功,请勿重新推送", startTime, endTime);
} }
//推送U8C //推送U8C
// implement(transferOutOrder); // implement(transferOutOrder);
implement(filterTransferOutOrders); implement(filterTransferOutOrders);
}
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start(String startTime, String endTime)方法报错:", e); logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start(String startTime, String endTime)方法报错:", e);
} }