Selaa lähdekoodia

费用标准配置
1.导入导出功能:
岗位:查询出当前版本的数据
职位:查询当前版本职级方案下的职位数据

lisheng 4 päivää sitten
vanhempi
säilyke
a4810a7d19

+ 51 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/LimitRelasetEdit.java

@@ -0,0 +1,51 @@
+package nckd.jimin.jyyy.fi.plugin.form;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.entity.datamodel.BasedataItem;
+import kd.bos.entity.datamodel.events.QueryImportBasedataEventArgs;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.QueryServiceHelper;
+import nckd.jimin.jyyy.fi.common.constant.BillTypeConstants;
+
+import java.util.List;
+import java.util.Map;
+
+public class LimitRelasetEdit extends AbstractBillPlugIn {
+
+    @Override
+    public void queryImportBasedata(QueryImportBasedataEventArgs e) {
+        super.queryImportBasedata(e);
+        Map<BasedataItem, List<Object>> searchResult = e.getSearchResult();
+
+        for(Map.Entry<BasedataItem, List<Object>> entryRow : searchResult.entrySet()){
+            BasedataItem basedataItem = entryRow.getKey();
+            String entityNumber = basedataItem.getEntityNumber();
+            List<Object> dataValues = entryRow.getValue();
+            // 岗位 或者 职级 且 查询数量大于1
+            if(dataValues.size() > 1 && basedataItem.getFieldKey().equals("nckd_classfield_jobpos")){
+                // 查询职级方案
+                DynamicObjectCollection dataCol = null;
+                if("hbjm_joblevelhr".equals(entityNumber)){
+                    dataCol = QueryServiceHelper.query(entityNumber, "id", new QFilter[]{
+                            new QFilter("id", QCP.in, dataValues),
+                            new QFilter("enable", QCP.equals, "1"),
+                            new QFilter("joblevelscm.iscurrentversion", QCP.equals, "1")
+                    });
+                }else{
+                    dataCol = QueryServiceHelper.query(entityNumber, "id", new QFilter[]{
+                            new QFilter("id", QCP.in, dataValues),
+                            new QFilter("iscurrentversion", QCP.equals, "1")
+                    });
+                }
+
+                if(dataCol != null && dataCol.size() == 1){
+                    dataValues.clear();
+                    dataValues.add(dataCol.get(0).get("id"));
+                }
+            }
+        }
+    }
+}