Przeglądaj źródła

考核关系业务实现

sqw 2 miesięcy temu
rodzic
commit
3eab80886c

+ 1 - 1
code/opmcepaq/uzi9-uzi9q-opmcepaq-epaq/src/main/java/uzi9/uzi9q/opmcepaq/epaq/plugin/form/activities/DynamicActivitiesListPulgin.java

@@ -89,7 +89,7 @@ public class DynamicActivitiesListPulgin extends AbstractListPlugin implements P
              BillFormId = (String) this.getModel().getValue("uzi9_set_mgmt");
         }
         if("uzi9_review_rel".equals(tabKey)){
-             BillFormId = (String) this.getModel().getValue("uzi9_set_mgmt");
+             BillFormId = (String) this.getModel().getValue("uzi9_set_rel");
         }
         if("uzi9_perf_goals".equals(tabKey)){
              BillFormId = (String) this.getModel().getValue("uzi9_set_mgmt");

+ 22 - 1
code/opmcepaq/uzi9-uzi9q-opmcepaq-epaq/src/main/java/uzi9/uzi9q/opmcepaq/epaq/plugin/form/zd/AssessmentActivityListPlugin.java

@@ -1,6 +1,7 @@
 package uzi9.uzi9q.opmcepaq.epaq.plugin.form.zd;
 
 import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.OrmLocaleValue;
 import kd.bos.entity.datamodel.ListSelectedRow;
 import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.operate.Delete;
@@ -15,6 +16,9 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.sdk.plugin.Plugin;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * 考核活动标准单据列表插件
  */
@@ -54,13 +58,30 @@ public class AssessmentActivityListPlugin extends AbstractListPlugin implements
             ListSelectedRow currentRow = event.getCurrentRow();
             //获取当前点击行的表单id
             Object primaryKeyValue = currentRow.getPrimaryKeyValue();
+            //通过id获取考核活动数据
+            DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("uzi9_assessment_activity", "name", new QFilter[]{new QFilter("id", QFilter.equals, primaryKeyValue)});
             //进行跳转准备
             FormShowParameter ShowParameter = new FormShowParameter();
             ShowParameter.setFormId("uzi9_activities_list");
-            ShowParameter.setCustomParam("ActivityId", primaryKeyValue);
+            Map<String,Object> map = new HashMap<String, Object>();
+            Object name = dynamicObject.get("name");
+            Object defaultValue = getDefaultValue(name);
+            map.put("ActivityName",defaultValue);
+            map.put("ActivityId",primaryKeyValue);
+            ShowParameter.setCustomParams(map);
             ShowParameter.getOpenStyle().setShowType(ShowType.NewWindow);
             //开始跳转
             this.getView().showForm(ShowParameter);
         }
     }
+
+    //语言设置
+    private Object getDefaultValue(Object localeValue) {
+        if (localeValue instanceof OrmLocaleValue) {
+            OrmLocaleValue ormLocaleValue = (OrmLocaleValue) localeValue;
+            // 假设默认语言是 "zh_CN",你可以根据实际情况调整
+            return ormLocaleValue.get("zh_CN");
+        }
+        return localeValue;
+    }
 }

+ 36 - 0
code/opmcepaq/uzi9-uzi9q-opmcepaq-epaq/src/main/java/uzi9/uzi9q/opmcepaq/epaq/plugin/form/zd/AssessmentGxListPlugin.java

@@ -0,0 +1,36 @@
+package uzi9.uzi9q.opmcepaq.epaq.plugin.form.zd;
+
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.events.BeforeCreateListColumnsArgs;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.sdk.plugin.Plugin;
+
+import java.util.EventObject;
+
+/**
+ * 标准单据列表插件
+ */
+public class AssessmentGxListPlugin extends AbstractListPlugin implements Plugin {
+    private static int END = 1;
+
+    @Override
+    public void beforeCreateListColumns(BeforeCreateListColumnsArgs args) {
+        super.beforeCreateListColumns(args);
+        Object importdata = this.getView().getFormShowParameter().getCustomParam("importdata");
+        if (importdata != null) {
+            //触发导入目标确认人
+            if (importdata.equals("importdata") && END == 1) {
+                this.getView().invokeOperation("importdata");
+                END++;
+            } else {
+                END--;
+            }
+            //目标确认人触发结束后,退出
+            if (importdata.equals("importdata") && this.getView().getFormShowParameter().getCustomParam("importdata") != null && END == 1) {
+                this.getView().invokeOperation("close");
+            }
+        }
+    }
+
+
+}

+ 279 - 65
code/opmcepaq/uzi9-uzi9q-opmcepaq-epaq/src/main/java/uzi9/uzi9q/opmcepaq/epaq/plugin/form/zd/EvaluationObjectListPlugin.java

@@ -11,6 +11,8 @@ import kd.bos.form.*;
 import kd.bos.form.control.Control;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.form.events.ClosedCallBackEvent;
+import kd.bos.form.events.MessageBoxClosedEvent;
+import kd.bos.form.events.PreOpenFormEventArgs;
 import kd.bos.form.events.SetFilterEvent;
 import kd.bos.list.BillList;
 import kd.bos.list.ListShowParameter;
@@ -31,10 +33,18 @@ import java.util.EventObject;
  */
 public class EvaluationObjectListPlugin extends AbstractListPlugin implements Plugin {
 
+    //评估对象表单标识
+    private static final String EVALUATION_OBJECT = "uzi9_evaluation_object";
+    //考核关系表单标识
+    private static final String ASSESSMENT_GX = "uzi9_assessment_gx";
+    //人员表单标识
+    private static final String BOS_USER = "bos_user";
+
+
     @Override
     public void setFilter(SetFilterEvent e) {
         super.setFilter(e);
-        //添加过滤条件,只能看见当前考核下的评估对象
+        //添加过滤条件,只能看见当前考核下的评估对象(后期放开注解)
         Object ActivityId = this.getView().getFormShowParameter().getCustomParam("ActivityId");
         /*QFilter qFilter = new QFilter("uzi9_assessment_activity.id", QCP.equals, ActivityId);
         e.getQFilters().add(qFilter);*/
@@ -46,31 +56,15 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
         super.itemClick(evt);
         String itemKey = evt.getItemKey();
         if (itemKey.equals("uzi9_new")) {
-            ListShowParameter parameter = new ListShowParameter();
-            //设置实体id
-            parameter.setBillFormId("bos_user");
-            //设置选择状态
-            parameter.setLookUp(true);
-            //设置展开
-            parameter.getOpenStyle().setShowType(ShowType.Modal);
-            //设置模版id
-            parameter.setFormId("bos_usertreelistf7");
-            //设置回调
-            parameter.setCloseCallBack(new CloseCallBack(this, "add"));
-            // 设置展开宽度,高度
-            StyleCss styleCss = new StyleCss();
-            styleCss.setWidth("800");
-            styleCss.setHeight("500");
-            parameter.getOpenStyle().setInlineStyleCss(styleCss);
-            //跳转
-            getView().showForm(parameter);
+            //跳转bos_user人员
+            bosUserJump("add");
         }
 
         //从其他考核活动进行新增
         if (itemKey.equals("uzi9_pull")) {
             ListShowParameter parameter = new ListShowParameter();
             //设置实体id
-            parameter.setBillFormId("bos_user");
+            parameter.setBillFormId(BOS_USER);
             //设置选择状态
             parameter.setLookUp(true);
             //设置展开
@@ -87,61 +81,148 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
             //跳转
             getView().showForm(parameter);
         }
+
         //删除效验
         if (itemKey.equals("uzi9_delete")) {
+            ConfirmCallBackListener callback = new ConfirmCallBackListener("delete", this);
+            this.getView().showConfirm("删除选中的评估对象后绩效目标及评估信息将无法恢复,是否确认删除?", MessageBoxOptions.YesNo, callback);
+        }
+
+        //修改目标确认人
+        if (itemKey.equals("uzi9_confirm")) {
+            //获取选择行的id主键
+            BillList billList = this.getControl(AbstractListPlugin.BILLLISTID);
+            Object[] primaryKeyValues = billList.getSelectedRows().getPrimaryKeyValues();
+            if (primaryKeyValues.length == 0) {
+                this.getView().showTipNotification("请至少选择一行数据");
+                return;
+            }
+            if (primaryKeyValues.length != 1) {
+                this.getView().showTipNotification("请只选择一位人员进行目标确认人的修改");
+                return;
+            }
+            //跳转bos_user人员
+            bosUserJump("confirmModify");
+        }
+
+        //更新评估对象人员信息
+        if (itemKey.equals("uzi9_bos_update")) {
+            BillList billList = this.getControl(AbstractListPlugin.BILLLISTID);
+            Object[] primaryKeyValues = billList.getSelectedRows().getPrimaryKeyValues();
+            if (primaryKeyValues.length == 0) {
+                this.getView().showTipNotification("请选择需要更新的数据");
+                return;
+            }
+            //更新
+            bosUpdate(primaryKeyValues);
+        }
 
+        //导入目标确认人
+        if (itemKey.equals("uzi9_target")) {
+            ListShowParameter parameter = new ListShowParameter();
+            parameter.setFormId("bos_list");
+            parameter.setBillFormId("uzi9_assessment_gx");
+            parameter.getOpenStyle().setShowType(ShowType.Modal);
+            parameter.setCustomParam("importdata","importdata");
+            this.getView().showForm(parameter);
         }
     }
 
+    //提示框回调
+    @Override
+    public void confirmCallBack(MessageBoxClosedEvent messageBoxClosedEvent) {
+        super.confirmCallBack(messageBoxClosedEvent);
+        //评估对象实际删除业务逻辑,顺带把考核关系也一起删除(未完)
+        if ("delete".equals(messageBoxClosedEvent.getCallBackId()) && messageBoxClosedEvent.getResult() == MessageBoxResult.Yes) {
+            //获取列表参数
+            BillList billList = this.getControl(AbstractListPlugin.BILLLISTID);
+            ListSelectedRowCollection selectedRows = billList.getSelectedRows();
+            Object[] primaryKeyValues = selectedRows.getPrimaryKeyValues();
+            if (primaryKeyValues.length <= 0) {
+                return;
+            }
+            int success = 0;
+            int failure = 0;
+            QFilter qFilter = new QFilter("id", QFilter.in, primaryKeyValues);
+            DynamicObject[] load = BusinessDataServiceHelper.load(EVALUATION_OBJECT, "id,uzi9_progress,uzi9_employeeid", new QFilter[]{qFilter});
+            for (DynamicObject dynamicObject : load) {
+                String progress = dynamicObject.get("uzi9_progress").toString();
+                if (progress.equals("1")) {
+                    success++;
+                    //删除评估对象
+                    QFilter qFilterS = new QFilter("id", QFilter.equals, dynamicObject.get("id"));
+                    DeleteServiceHelper.delete(EVALUATION_OBJECT, new QFilter[]{qFilterS});
+                    //删除考核关系
+                    QFilter qFilter2 = new QFilter("uzi9_employeeid", QFilter.equals, dynamicObject.get("uzi9_employeeid"));
+                    DeleteServiceHelper.delete(ASSESSMENT_GX, new QFilter[]{qFilter2});
+                } else {
+                    failure++;
+                }
+            }
+            this.getView().showMessage("成功删除个数:" + success + " --- 失败删除的个数:" + failure);
+            this.getView().showTipNotification("考核进度为“未开始”的评估对象才能删除。已完成考核评估对象不可以删除");
+            this.getView().updateView();
+        }
+    }
 
+    //动态表单回调
     @Override
     public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
         super.closedCallBack(closedCallBackEvent);
         // 接收回调
         //获取回调标识
         String actionId = closedCallBackEvent.getActionId();
+
+        //新增评估对象
         if (actionId.equals("add")) {
-            if (closedCallBackEvent.getReturnData() instanceof ListSelectedRowCollection) {
-                ListSelectedRowCollection selectCollections = (ListSelectedRowCollection) closedCallBackEvent.getReturnData();
-                ArrayList list = new ArrayList();
-                for (ListSelectedRow row : selectCollections) {
-                    // list存储id
-                    list.add(row.getPrimaryKeyValue());
-                }
-                // 构造QFilte
-                QFilter qFilter = new QFilter("id", QFilter.equals, list.get(0));
-                for (int i = 1; i < list.size(); i++) {
-                    qFilter = qFilter.or(new QFilter("id", QFilter.equals, list.get(i)));
-                }
-                // 将选中的id对应的数据从数据库加载出来
-                DynamicObject[] load = BusinessDataServiceHelper.load("bos_user", "id,name,number,entryentity,startdate,entryentity.post,entryentity.dpt,entryentity.ispartjob", qFilter.toArray());
-                for (DynamicObject dynamicObject : load) {
-                    //新增
-                    userAddOne(dynamicObject);
-                }
+            DynamicObject[] dynamicObjects = userCallback(closedCallBackEvent);
+            if (dynamicObjects == null){
+                return;
+            }
+            for (DynamicObject dynamicObject : dynamicObjects) {
+                //新增
+                userAddOne(dynamicObject);
             }
         }
+
+        //从其他评估对象引入进行新增
         if (actionId.equals("pull")) {
-            if (closedCallBackEvent.getReturnData() instanceof ListSelectedRowCollection) {
-                ListSelectedRowCollection selectCollections = (ListSelectedRowCollection) closedCallBackEvent.getReturnData();
-                ArrayList list = new ArrayList();
-                for (ListSelectedRow row : selectCollections) {
-                    // list存储id
-                    list.add(row.getPrimaryKeyValue());
-                }
-                // 构造QFilte
-                QFilter qFilter = new QFilter("id", QFilter.equals, list.get(0));
-                for (int i = 1; i < list.size(); i++) {
-                    qFilter = qFilter.or(new QFilter("id", QFilter.equals, list.get(i)));
-                }
-                // 将选中的id对应的数据从数据库加载出来
-                DynamicObject[] load = BusinessDataServiceHelper.load("bos_user", "id,name,number", qFilter.toArray());
-                //新增
-                userAddTwo(load);
+            DynamicObject[] dynamicObjects = userCallback(closedCallBackEvent);
+            if (dynamicObjects == null){
+                return;
+            }
+            //引入新增
+            userAddTwo(dynamicObjects);
+        }
+
+        //修改目标确认人
+        if (actionId.equals("confirmModify")) {
+            DynamicObject[] dynamicObjects = userCallback(closedCallBackEvent);
+            if (dynamicObjects == null){
+                return;
+            }
+            if (dynamicObjects.length != 1) {
+                this.getView().showTipNotification("目标确认人,只能选择一个");
+                return;
             }
+            //修改确认人
+            DynamicObject dynamicObject = dynamicObjects[0];
+            confirmModify(dynamicObject);
         }
 
+    }
 
+    //回调获取人员数据
+    private DynamicObject[] userCallback(ClosedCallBackEvent closedCallBackEvent) {
+        if (closedCallBackEvent.getReturnData() instanceof ListSelectedRowCollection) {
+            ListSelectedRowCollection selectCollections = (ListSelectedRowCollection) closedCallBackEvent.getReturnData();
+            Object[] primaryKeyValues = selectCollections.getPrimaryKeyValues();
+            QFilter qFilter = new QFilter("id", QFilter.in, primaryKeyValues);
+            // 将选中的id对应的数据从数据库加载出来
+            DynamicObject[] load = BusinessDataServiceHelper.load(BOS_USER, "id,name,number,entryentity,startdate,entryentity.post,entryentity.dpt,entryentity.ispartjob", new QFilter[]{qFilter});
+            return load;
+        }
+        return null;
     }
 
     //添加方法一(无论用什么方法一切的前提是拿到员工工号,无论是一个还是一群)
@@ -151,10 +232,14 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
         //判断条件是否有工号相同的参数
         QFilter qFilter = new QFilter("uzi9_employeeid", QFilter.equals, employeeId);
         //对评估对象表进行筛选
-        DynamicObject employeeIdCheck = BusinessDataServiceHelper.loadSingle("uzi9_evaluation_object", "uzi9_employeeid", new QFilter[]{qFilter});
+        DynamicObject employeeIdCheck = BusinessDataServiceHelper.loadSingle(EVALUATION_OBJECT, "uzi9_employeeid", new QFilter[]{qFilter});
 
         //获取通过跳转传过来的活动id并查询对应的活动
         Object activityId = this.getView().getFormShowParameter().getCustomParam("ActivityId");
+        if (activityId == null) {
+            this.getView().showTipNotification("错误进入,当前没有考核活动id,请从考核活动进入");
+            return;
+        }
         DynamicObject assessment = BusinessDataServiceHelper.loadSingle("uzi9_assessment_activity", "id", new QFilter[]{new QFilter("id", QFilter.equals, activityId)});
 
         //判断是否为空
@@ -163,7 +248,7 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
             return;
         }
 
-        DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("uzi9_evaluation_object");
+        DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject(EVALUATION_OBJECT);
         //语言设置默认为zh_CN
         Object name = getDefaultValue(useradd.get("name"));
         //姓名
@@ -212,13 +297,16 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
         dynamicObject.set("enable", 1);
         //数据状态
         dynamicObject.set("status", "A");
-        OperationResult result = SaveServiceHelper.saveOperate("uzi9_evaluation_object", new DynamicObject[]{dynamicObject}, OperateOption.create());
+        //新增评估对象
+        OperationResult result = SaveServiceHelper.saveOperate(EVALUATION_OBJECT, new DynamicObject[]{dynamicObject}, OperateOption.create());
+        //新增考核关系
+        relationship(dynamicObject);
         this.getView().updateView();
         if (result.isSuccess()) {
-            this.getView().showSuccessNotification("新增数据成功");
+            this.getView().showSuccessNotification("新增评估对象数据成功");
             this.getView().invokeOperation("refresh");
         } else {
-            this.getView().showErrorNotification("新增数据失败");
+            this.getView().showErrorNotification("新增评估对象数据失败");
             this.getView().invokeOperation("refresh");
         }
     }
@@ -229,27 +317,132 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
         for (DynamicObject useradd : useradds) {
             Object number = useradd.get("number");
             //通过工号获取评估对象
-            DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("uzi9_evaluation_object", "id,uzi9_assessment_activity,name", new QFilter[]{new QFilter("uzi9_employeeid", QFilter.equals, number)});
+            DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(EVALUATION_OBJECT, "id,uzi9_assessment_activity,name", new QFilter[]{new QFilter("uzi9_employeeid", QFilter.equals, number)});
+            //通过工号获取考核关系
+            DynamicObject dynamicObject2 = BusinessDataServiceHelper.loadSingle(ASSESSMENT_GX, "id,uzi9_assessment_activity,name", new QFilter[]{new QFilter("uzi9_employeeid", QFilter.equals, number)});
+
             if (dynamicObject == null) {
                 this.getView().showTipNotification("当前员工没有加入任何考核活动,请通过新增进行添加");
                 return;
             }
+
             //获取当下的考核活动id
             Object activityId = this.getView().getFormShowParameter().getCustomParam("ActivityId");
             //查询考核活动
             DynamicObject assessment = BusinessDataServiceHelper.loadSingle("uzi9_assessment_activity", "id", new QFilter[]{new QFilter("id", QFilter.equals, activityId)});
-            //修改评对象的考核活动
+            //修改评对象的考核活动
             dynamicObject.set("uzi9_assessment_activity", assessment);
-            //更新数据
-            OperationResult result = SaveServiceHelper.saveOperate("uzi9_evaluation_object", new DynamicObject[]{dynamicObject}, OperateOption.create());
+
+            //更新考核对象
+            OperationResult result = SaveServiceHelper.saveOperate(EVALUATION_OBJECT, new DynamicObject[]{dynamicObject}, OperateOption.create());
+            //更新考核关系(后续有了上级对象需要进行修改)
+            SaveServiceHelper.saveOperate(ASSESSMENT_GX, new DynamicObject[]{dynamicObject2}, OperateOption.create());
+
             if (result.isSuccess()) {
-                this.getView().showSuccessNotification(dynamicObject.get("name") + "转移成功");
+                this.getView().showSuccessNotification(dynamicObject.get("name") + " 考核活动转移成功");
             } else {
                 this.getView().invokeOperation(dynamicObject.get("name") + "转移失败");
             }
         }
     }
 
+    //考核关系新增
+    public void relationship(DynamicObject object) {
+        DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject(ASSESSMENT_GX);
+        //考核对象封装
+        //姓名
+        dynamicObject.set("name", object.get("name"));
+        //工号
+        dynamicObject.set("uzi9_employeeid", object.get("uzi9_employeeid"));
+        //组织
+        dynamicObject.set("uzi9_orgfield", object.get("uzi9_orgfield"));
+        //岗位
+        dynamicObject.set("uzi9_position", object.get("uzi9_position"));
+        //入职时间
+        dynamicObject.set("uzi9_date_joining", object.get("uzi9_date_joining"));
+       /* //直接上级 后续准备
+        dynamicObject.set("uzi9_direct",);
+        //虚线上级(可有可无)
+        dynamicObject.set("uzi9_nothingness",);
+        //间接上级
+        dynamicObject.set("uzi9_indirect",);
+        //目标确认人
+        dynamicObject.set("uzi9_confirm",);*/
+        //考核活动
+        dynamicObject.set("uzi9_assessment_activity", object.get("uzi9_assessment_activity"));
+        //使用状态
+        dynamicObject.set("enable", 1);
+        //数据状态
+        dynamicObject.set("status", "A");
+        OperationResult result = SaveServiceHelper.saveOperate(ASSESSMENT_GX, new DynamicObject[]{dynamicObject}, OperateOption.create());
+        if (result.isSuccess()) {
+            this.getView().showSuccessNotification("新增考核关系数据成功");
+        } else {
+            this.getView().showErrorNotification("新增考核关系数据失败");
+        }
+
+    }
+
+    //目标确认人修改
+    private void confirmModify(DynamicObject dynamicObject){
+        //获取选择行的id
+        BillList billList = this.getControl(AbstractListPlugin.BILLLISTID);
+        Object[] primaryKeyValues = billList.getSelectedRows().getPrimaryKeyValues();
+        Object primaryKeyValue = primaryKeyValues[0];
+
+        //通过评估对象id获取工号
+        DynamicObject evaluation = BusinessDataServiceHelper.loadSingle(EVALUATION_OBJECT, "id,uzi9_employeeid", new QFilter[]{new QFilter("id", QFilter.equals, primaryKeyValue)});
+
+        Object employeeid = evaluation.get("uzi9_employeeid");
+        //通过工号去找考核关系对象
+        DynamicObject relationship = BusinessDataServiceHelper.loadSingle(ASSESSMENT_GX, "id,uzi9_employeeid,uzi9_confirm", new QFilter[]{new QFilter("uzi9_employeeid", QFilter.equals, employeeid)});
+        if (relationship == null) {
+            this.getView().showErrorNotification("选择的评估对象,没有对应的考核关系,请联系开发人员");
+            return;
+        }
+
+        relationship.set("uzi9_confirm", dynamicObject);
+        OperationResult result = SaveServiceHelper.saveOperate(ASSESSMENT_GX, new DynamicObject[]{relationship}, OperateOption.create());
+
+        if (result.isSuccess()) {
+            this.getView().showSuccessNotification(dynamicObject.get("name") + "目标确认人修改成功");
+        }else {
+            this.getView().showSuccessNotification(dynamicObject.get("name") + "目标确认人修改失败");
+        }
+    }
+
+    //更新评估对象信息(目前更新的情况为,bos_user中的数据就是最新的,不存在历史数据,考核关系方面的同步暂时不做)
+    private void bosUpdate(Object[] primaryKeyValues){
+        //通过id获取评估对象
+        DynamicObject[] load = BusinessDataServiceHelper.load(EVALUATION_OBJECT, "id,uzi9_employeeid,uzi9_position,uzi9_orgfield", new QFilter[]{new QFilter("id", QFilter.in, primaryKeyValues)});
+        //遍历每一个评估对象,进行更新
+        for (DynamicObject dynamicObject : load) {
+            Object employeeid = dynamicObject.get("uzi9_employeeid");
+            //获取人员数据
+            DynamicObject bosUser = BusinessDataServiceHelper.loadSingle(BOS_USER, "number,entryentity,entryentity.post,entryentity.dpt,entryentity.ispartjob", new QFilter[]{new QFilter("number", QFilter.equals, employeeid)});
+            //获取人员中部门分录单据体
+            DynamicObjectCollection entryentity = bosUser.getDynamicObjectCollection("entryentity");
+            for (DynamicObject entry : entryentity) {
+                //只要主岗位
+                boolean bl = (boolean) entry.get("ispartjob");
+                if (!bl){
+                    //岗位更新
+                    Object post = entry.get("post");
+                    if (post != null) {
+                        dynamicObject.set("uzi9_position",post);
+                    }
+                    //组织更新
+                    Object dpt = entry.get("dpt");
+                    if (dpt != null) {
+                        dynamicObject.set("uzi9_orgfield",dpt);
+                    }
+                }
+            }
+            SaveServiceHelper.saveOperate(EVALUATION_OBJECT,new DynamicObject[]{dynamicObject});
+        }
+        this.getView().showSuccessNotification("更新完毕");
+    }
+
     //语言设置
     private Object getDefaultValue(Object localeValue) {
         if (localeValue instanceof OrmLocaleValue) {
@@ -260,5 +453,26 @@ public class EvaluationObjectListPlugin extends AbstractListPlugin implements Pl
         return localeValue;
     }
 
-
+    //人员bos_user跳转
+    private void bosUserJump(String callback) {
+        //跳转调人员bos_user去选择
+        ListShowParameter parameter = new ListShowParameter();
+        //设置实体id
+        parameter.setBillFormId(BOS_USER);
+        //设置选择状态
+        parameter.setLookUp(true);
+        //设置展开
+        parameter.getOpenStyle().setShowType(ShowType.Modal);
+        //设置模版id
+        parameter.setFormId("bos_usertreelistf7");
+        //设置回调
+        parameter.setCloseCallBack(new CloseCallBack(this, callback));
+        // 设置展开宽度,高度
+        StyleCss styleCss = new StyleCss();
+        styleCss.setWidth("800");
+        styleCss.setHeight("500");
+        parameter.getOpenStyle().setInlineStyleCss(styleCss);
+        //跳转
+        getView().showForm(parameter);
+    }
 }