Przeglądaj źródła

refactor(hrmp): 重构岗位暂存数据删除逻辑

- 将 delAddMasterForBos 方法移至 PositionBillServiceHelper 类中
- 删除 PosBillEntryNewPositionTempSaveOpPlugin 中的重复方法实现
- 简化事务处理代码,统一使用 TX.requiresNew()
- 移除未使用的导入包 TX 和 TXHandle
- 通过静态方法调用方式优化代码结构
jtd 6 dni temu
rodzic
commit
a9c6851f45

+ 12 - 5
code/hrmp/nckd-jxccl-hrmp/src/main/java/nckd/jxccl/hrmp/hbpm/business/hr/service/impl/PositionBillServiceHelper.java

@@ -301,14 +301,21 @@ public class PositionBillServiceHelper {
         // 删除HR岗位暂存的数据
         // 删除HR岗位暂存的数据
         HRBaseServiceHelper.create(PositionBillConstant.HBPM_POSITIONHR).deleteByFilter(new QFilter[]{new QFilter(PositionBillConstant.BOID_KEY, QCP.in, positionIdList)});
         HRBaseServiceHelper.create(PositionBillConstant.HBPM_POSITIONHR).deleteByFilter(new QFilter[]{new QFilter(PositionBillConstant.BOID_KEY, QCP.in, positionIdList)});
 
 
+        delAddMasterForBos(positionIdList);
+    }
+
+    /**
+     * 删除BOS岗位新设暂存数据
+     * @param positionIdList
+     */
+    public static void delAddMasterForBos(List<Long> positionIdList) {
+        QFilter[] qFilters = {new QFilter(PositionBillConstant.ID_KEY, QCP.in, positionIdList)};
         if (TX.getPropagation() != Propagation.NOT_SUPPORTED) {
         if (TX.getPropagation() != Propagation.NOT_SUPPORTED) {
-            try (TXHandle txHandle = TX.requiresNew()) {
-                // 删除BOS岗位暂存的数据
-                HRBaseServiceHelper.create(PositionBillConstant.BOS_POSITION_ENTITY).deleteByFilter(new QFilter[]{new QFilter(PositionBillConstant.ID_KEY, QCP.in, positionIdList)});
+            try (TXHandle tx = TX.requiresNew()) {
+                HRBaseServiceHelper.create(PositionBillConstant.BOS_POSITION_ENTITY).deleteByFilter(qFilters);
             }
             }
         } else {
         } else {
-            // 删除BOS岗位暂存的数据
-            HRBaseServiceHelper.create(PositionBillConstant.BOS_POSITION_ENTITY).deleteByFilter(new QFilter[]{new QFilter(PositionBillConstant.ID_KEY, QCP.in, positionIdList)});
+            HRBaseServiceHelper.create(PositionBillConstant.BOS_POSITION_ENTITY).deleteByFilter(qFilters);
         }
         }
     }
     }
 
 

+ 1 - 3
code/hrmp/nckd-jxccl-hrmp/src/main/java/nckd/jxccl/hrmp/hbpm/plugin/operate/hr/PosBillEntryNewPositionTempSaveOpPlugin.java

@@ -151,8 +151,7 @@ public class PosBillEntryNewPositionTempSaveOpPlugin extends AbstractOperationSe
 
 
         // 不论成功与否,都调用岗位删除,BOS岗位不需要暂存数据
         // 不论成功与否,都调用岗位删除,BOS岗位不需要暂存数据
         List<Long> positionIds = positionList.stream().map(positionDy -> positionDy.getLong(PositionBillConstant.ID_KEY)).collect(Collectors.toList());
         List<Long> positionIds = positionList.stream().map(positionDy -> positionDy.getLong(PositionBillConstant.ID_KEY)).collect(Collectors.toList());
-        //HRBaseServiceHelper.create(PositionBillConstant.BOS_POSITION_ENTITY).deleteByFilter(new QFilter[]{new QFilter(PositionBillConstant.ID_KEY, QCP.in, positionIds)});
-        PositionBillServiceHelper.delAddMaster(positionIds);
+        PositionBillServiceHelper.delAddMasterForBos(positionIds);
 
 
         if (!errorMsgList.isEmpty()) {
         if (!errorMsgList.isEmpty()) {
             throw new KDBizException(String.join(System.lineSeparator(), errorMsgList));
             throw new KDBizException(String.join(System.lineSeparator(), errorMsgList));
@@ -175,5 +174,4 @@ public class PosBillEntryNewPositionTempSaveOpPlugin extends AbstractOperationSe
         }
         }
         SaveServiceHelper.save(positionDys);
         SaveServiceHelper.save(positionDys);
     }
     }
-
 }
 }