diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index 2d89209b..fd8eeb02 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -408,12 +408,19 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { * @author liuyang */ private void getSetStock(List headerDetailsDtoList) throws Exception { - //过滤成功的数据 - List headerDetailsDtos = filterDataStock(headerDetailsDtoList); - //保存到mysql底表 - batchInsert(headerDetailsDtos); - //执行推送主逻辑 - implementStock(headerDetailsDtos); + LOCK1.lock(); + try { + //过滤成功的数据 + List headerDetailsDtos = filterDataStock(headerDetailsDtoList); + //保存到mysql底表 + batchInsert(headerDetailsDtos); + //执行推送主逻辑 + implementStock(headerDetailsDtos); + } catch (Exception e) { + logger.error("TOC销售-库存:getSetStock方法抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** @@ -422,13 +429,20 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { * @author liuyang */ private void getSetTran(List headerDetailsDtoList) throws Exception { - //先过滤成功的数据,再保存到低表 - //headerDetailsDtos携带红、蓝单据推送成功与否的明细行 - List headerDetailsDtos = filterDataTran(headerDetailsDtoList); - //保存到mysql底表 - batchInsert(headerDetailsDtos); - //执行推送主逻辑 - implementTran(headerDetailsDtos); + LOCK2.lock(); + try { + //先过滤成功的数据,再保存到低表 + //headerDetailsDtos携带红、蓝单据推送成功与否的明细行 + List headerDetailsDtos = filterDataTran(headerDetailsDtoList); + //保存到mysql底表 + batchInsert(headerDetailsDtos); + //执行推送主逻辑 + implementTran(headerDetailsDtos); + } catch (Exception e) { + logger.error("TOC销售-交易成功:getSetTran方法抛出异常", e); + } finally { + LOCK2.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index 6ef56932..adc18c67 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -57,7 +57,11 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { Logger logger = LoggerFactory.getLogger(SoSaleReturnPluginInitializerToC.class); - private static final ReentrantLock LOCK = new ReentrantLock(true); +// private static final ReentrantLock LOCK = new ReentrantLock(true); + + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + + private static final ReentrantLock LOCK2 = new ReentrantLock(true); private static final String STOCK = "stock"; @@ -333,12 +337,19 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { * @author liuyang */ private void getSetStock(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List stockinOrderList = filterDataStock(returnGoodHeaderDetailsDataDtoArrayList); - //保存到mysql - batchInsert(stockinOrderList); - //执行推送主逻辑 - implementStock(stockinOrderList); + LOCK1.lock(); + try { + //过滤成功的数据 + List stockinOrderList = filterDataStock(returnGoodHeaderDetailsDataDtoArrayList); + //保存到mysql + batchInsert(stockinOrderList); + //执行推送主逻辑 + implementStock(stockinOrderList); + } catch (Exception e) { + logger.error("TOC退货-库存:getSetStock方法抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** @@ -347,12 +358,19 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { * @author liuyang */ private void getSetTran(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List stockinOrderList = filterDataTran(returnGoodHeaderDetailsDataDtoArrayList); - //保存到mysql - batchInsert(stockinOrderList); - //执行推送主逻辑 - implementTran(stockinOrderList); + LOCK2.lock(); + try { + //过滤成功的数据 + List stockinOrderList = filterDataTran(returnGoodHeaderDetailsDataDtoArrayList); + //保存到mysql + batchInsert(stockinOrderList); + //执行推送主逻辑 + implementTran(stockinOrderList); + } catch (Exception e) { + logger.error("TOC退货-确认收入:getSetTran方法抛出异常", e); + } finally { + LOCK2.unlock(); + } } /**