| 
					
				 | 
			
			
				@@ -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("未找到对应的入职单"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |