ソースを参照

feat(hr): 添加职称技能聘任功能模块

- 新增职称技能聘任常量类 TitleSkillAppointConstant
- 添加员工职称技能聘任实体标识常量
- 创建职称技能聘任单生效操作插件 TitleSkillAppointEffectOpPlugin
- 实现生效操作的属性准备和事务处理逻辑
- 添加动态对象数据实体处理方法
- 集成表单基础常量功能
jtd 4 日 前
コミット
1637311417

+ 15 - 0
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/hspm/common/TitleSkillAppointConstant.java

@@ -0,0 +1,15 @@
+package nckd.jxccl.hr.hspm.common;
+
+import nckd.jxccl.base.common.constant.FormConstant;
+
+/**
+ * 职称技能聘任常量
+ * @author: jtd
+ * @date: 2026/1/13 21:15
+ */
+public class TitleSkillAppointConstant extends FormConstant {
+    /** 员工职称技能聘任-实体标识 */
+    public static final String NCKD_HRPI_TITLSKLAPP_ENTITY = "nckd_hrpi_titlsklapp";
+
+
+}

+ 41 - 0
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/hspm/plugin/operate/tsapp/TitleSkillAppointEffectOpPlugin.java

@@ -0,0 +1,41 @@
+package nckd.jxccl.hr.hspm.plugin.operate.tsapp;
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
+import kd.bos.entity.plugin.PreparePropertysEventArgs;
+import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
+import nckd.jxccl.hr.hspm.common.TitleSkillAppointConstant;
+
+/**
+ * 职称技能聘任单生效操作插件
+ * @operate: submiteffect、audit
+ * @author: jtd
+ * @date: 2026/1/13 21:11
+ */
+public class TitleSkillAppointEffectOpPlugin extends AbstractOperationServicePlugIn {
+
+    @Override
+    public void onPreparePropertys(PreparePropertysEventArgs e) {
+        super.onPreparePropertys(e);
+
+        e.getFieldKeys().addAll(billEntityType.getAllFields().keySet());
+    }
+
+    @Override
+    public void beginOperationTransaction(BeginOperationTransactionArgs e) {
+        super.beginOperationTransaction(e);
+
+        for (DynamicObject dataEntite : e.getDataEntities()) {
+            DynamicObjectCollection entryEntity = dataEntite.getDynamicObjectCollection(TitleSkillAppointConstant.NCKD_ENTRYENTITY);
+            for (DynamicObject entry : entryEntity) {
+
+            }
+        }
+    }
+
+    private void doEffect(DynamicObject data) {
+
+
+    }
+}