1
0

6 Revīzijas e7aaabe1a5 ... 5455eb7256

Autors SHA1 Ziņojums Datums
  Tyx 5455eb7256 1.工作流插件优化 2 dienas atpakaļ
  Tyx b5ce4613b2 Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy 2 dienas atpakaļ
  Tyx 977ce365a6 Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy 2 dienas atpakaļ
  Tyx 178581dc79 Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy 2 dienas atpakaļ
  Tyx 5bc8dce61a Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy 3 dienas atpakaļ
  Tyx cdbce38226 1.候选人管理跳转入职办理插件 3 dienas atpakaļ

+ 1 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/plugin/workflow/GetFirstDeptChargerWorkflowPlugin.java

@@ -26,6 +26,7 @@ public class GetFirstDeptChargerWorkflowPlugin implements IWorkflowPlugin {
         log.info(" 获取流程变量 personId : {} ", personId);
         //获取人员主职部门
         Map<String, Object> posOrgRel = DispatchServiceHelper.invokeBizService("hrmp", "hrpi", "IHRPIPersonService", "getPrimaryEmpposorgrel", Long.valueOf(personId));
+        log.info(" posOrgRel : {}", posOrgRel);
         Long adminOrgId = Long.valueOf(posOrgRel.get("adminorg_id").toString());
         log.info(" personId对应部门Id : {}", adminOrgId);
         //获取一级部门

+ 98 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/form/AppFileListEx.java

@@ -0,0 +1,98 @@
+package nckd.jimin.jyyy.hr.tsrsc.plugin.form;
+
+import kd.bos.bill.BillShowParameter;
+import kd.bos.bill.OperationStatus;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.resource.ResManager;
+import kd.bos.dataentity.utils.ObjectUtils;
+import kd.bos.entity.datamodel.ListSelectedRowCollection;
+import kd.bos.form.FormShowParameter;
+import kd.bos.form.IFormView;
+import kd.bos.form.ShowType;
+import kd.bos.form.control.events.ItemClickEvent;
+import kd.bos.list.IListView;
+import kd.bos.list.plugin.AbstractListPlugin;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.QueryServiceHelper;
+import kd.hr.hom.common.enums.ViewTypeEnum;
+import kd.hr.hom.common.util.HOMObjectUtils;
+import kd.sdk.plugin.Plugin;
+import nckd.jimin.jyyy.hr.tsrsc.plugin.util.MokaApiUtil;
+
+import javax.management.Query;
+import java.util.EventObject;
+import java.util.Locale;
+
+/**
+ * 候选人跳转入职单
+ * Tyx
+ * 2025-06-13
+ */
+public class AppFileListEx extends AbstractListPlugin implements Plugin {
+
+    private static String onBrdBill_entity = "hom_onbrdinfo";
+    private static String appFile_entity = "tsrsc_appfile_viewmabr";
+    @Override
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+
+    }
+
+    @Override
+    public void click(EventObject evt) {
+        super.click(evt);
+    }
+
+    @Override
+    public void itemClick(ItemClickEvent evt) {
+        super.itemClick(evt);
+        String itemKey = evt.getItemKey();
+        if ("nckd_redirectonbrd".equals(itemKey)) {
+            IListView listview = (IListView) this.getView();
+            ListSelectedRowCollection selectedRows = listview.getSelectedRows();
+            if(selectedRows.size() == 0) {
+                this.getView().showErrorNotification("请选中一行数据");
+            }
+            else if(selectedRows.size() > 1) {
+                this.getView().showErrorNotification("请选中一行数据");
+            }
+            else if (selectedRows.size() == 1) {
+                Object[] pks = selectedRows.getPrimaryKeyValues();
+                //根据候选人PK去找入职单
+                DynamicObject appFile = BusinessDataServiceHelper.loadSingle(pks[0], appFile_entity);
+                String appFileNo = appFile.getString("number");
+
+                QFilter filter = new QFilter("resumeno", "=", appFileNo);
+                DynamicObject onBrdInfo = QueryServiceHelper.queryOne(onBrdBill_entity, "id,name,candidate,viewtype", new QFilter[]{filter});
+                if(!ObjectUtils.isEmpty(onBrdInfo)) {
+
+                    FormShowParameter billShowParameter = new FormShowParameter();
+                    String onbrdId = onBrdInfo.getString("id");
+                    String name = onBrdInfo.getString("name");
+                    String viewType = onBrdInfo.getString("viewtype");
+                    if (ViewTypeEnum.AGAIN.getCode().equals(viewType)) {
+                        billShowParameter.setCaption(String.format(Locale.ROOT, ResManager.loadKDString("再入职办理单-%s", "OnbrdBillListPlugin_2", "hr-hom-formplugin", new Object[0]), name));
+                    } else {
+                        billShowParameter.setCaption(String.format(Locale.ROOT, ResManager.loadKDString("入职办理单-%s", "OnbrdBillListPlugin_0", "hr-hom-formplugin", new Object[0]), name));
+                    }
+                    billShowParameter.setFormId("hom_persononbrdhandlebody");
+                    billShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+                    billShowParameter.setStatus(OperationStatus.VIEW);
+                    IFormView currView = this.getView();
+                    IFormView parentView = HOMObjectUtils.getCurrAppHomeView(currView);
+                    String appRootPageId = parentView == null ? currView.getFormShowParameter().getRootPageId() : parentView.getPageId();
+                    String pageId = HOMObjectUtils.getUniquePageId("hom_persononbrdhandlebody", onbrdId, appRootPageId);
+                    billShowParameter.setPageId(pageId);
+                    billShowParameter.setCustomParam("onbrdid", onbrdId);
+                    billShowParameter.setCustomParam("candidateid", onBrdInfo.getString("candidate.id"));
+                    billShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
+                    this.getView().showForm(billShowParameter);
+                }
+                else {
+                    this.getView().showErrorNotification("未找到对应的入职单");
+                }
+            }
+        }
+    }
+}

+ 26 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/tsrsc/plugin/util/MokaApiUtil.java

@@ -17,6 +17,8 @@ import nckd.jimin.jyyy.hr.wtc.wtis.util.DingTalkSyncUtil;
 import org.apache.commons.net.util.Base64;
 
 import java.io.IOException;
+import java.time.Duration;
+import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -72,6 +74,18 @@ public class MokaApiUtil {
         return result;
     }
 
+    public static JSONObject doKingdeePostByHttpClient(String url, JSONObject bodyData) throws IOException {
+        Map<String, String> headers = new HashMap();
+        headers.put("Content-Type", "application/json");
+        headers.put("Accept", "*/*");
+        logger.info(String.format("url[%s],data[%s]", url, bodyData.toJSONString()));
+        System.out.println(String.format("url[%s],data[%s]", url, bodyData.toJSONString()));
+        String responseEntify = HttpClientUtils.postjson(url, headers, bodyData.toJSONString(), 10000, 10000);
+        logger.info(responseEntify);
+        JSONObject result = (JSONObject)JSONObject.parse(responseEntify);
+        return result;
+    }
+
 
     /**
      * 新增调用日志
@@ -145,5 +159,17 @@ public class MokaApiUtil {
         }
     }
 
+    /**
+     * 按分钟漂移
+     * @param offset
+     * @return
+     */
+    public static LocalDateTime offsetMinute(int offset) {
+        LocalDateTime now = LocalDateTime.now();
+        Duration fiveMinutes = Duration.ofMinutes(offset);
+        LocalDateTime fiveMinutesAgo = now.minus(fiveMinutes);
+        return fiveMinutesAgo;
+    }
+
 
 }