diff --git a/yem-wm/yem-wm-sex/src/main/java/yem/wm/sex/tpl/SexTemplateFormPlugin.java b/yem-wm/yem-wm-sex/src/main/java/yem/wm/sex/tpl/SexTemplateFormPlugin.java
index 0e4a4c7..04837e8 100644
--- a/yem-wm/yem-wm-sex/src/main/java/yem/wm/sex/tpl/SexTemplateFormPlugin.java
+++ b/yem-wm/yem-wm-sex/src/main/java/yem/wm/sex/tpl/SexTemplateFormPlugin.java
@@ -15,6 +15,7 @@ import kd.bos.list.ListShowParameter;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.bos.servicehelper.user.UserServiceHelper;
 import yem.base.common.utils.DynamicObjectUtil;
 import yem.base.common.utils.YEM;
 
@@ -59,7 +60,7 @@ public class SexTemplateFormPlugin extends AbstractBillPlugIn implements BeforeF
                 setOrgF7Filter(evt);
                 break;
             case "yem_department":// 部门
-                setDeptF7Filter(evt);
+            //    setDeptF7Filter(evt);
                 break;
             case "yem_salegroup": // 业务组
                 setGroupF7Filter(evt);
@@ -115,25 +116,26 @@ public class SexTemplateFormPlugin extends AbstractBillPlugIn implements BeforeF
 
     /**
      * @Description: 单据组织人员相关字段合规
-     * @function 功能: 判断 部门、业务员 是否是当前组织下,如果不是则清空
+     * @function 功能: 根据当前登录人员携带部门、业务员默认值
+     *
      * @purposes 用途:单据新增时、组织值改变时
      */
     private void orgPropertyChanged(){
         IDataModel model = this.getView().getModel();
         DynamicObject org = (DynamicObject) model.getValue("org");
         if (YEM.isEmpty(org)) return;
-        // 部门
-        DynamicObject yemDepartment = (DynamicObject) model.getValue("yem_department");
-        if (!YEM.isEmpty(yemDepartment)){
-            // 判断组织是否在 部门的上级组织中
-            boolean isOrgSubDept = isOrgSubDept(org, yemDepartment);
-            if (!isOrgSubDept) model.setValue("yem_department",null);
-        }
-        // 业务员
-        DynamicObject yemOperator = (DynamicObject) model.getValue("yem_operator");
-        if (!YEM.isEmpty(yemOperator)){
-            Map<Long, Boolean> orgSubUserDeptInfo = getOrgSubUserDeptInfo(org, yemOperator);
-            if (orgSubUserDeptInfo.isEmpty()) model.setValue("yem_operator",null);
+        DynamicObject user = BusinessDataServiceHelper.loadSingleFromCache(YEM.getCurrentUserId(), "bos_user");
+        Map<Long, Boolean> orgSubUserDeptInfo = getOrgSubUserDeptInfo(org, user);
+        if (!orgSubUserDeptInfo.isEmpty()){
+            model.setValue("yem_operator",user);
+            boolean b = orgSubUserDeptInfo.containsValue(true);
+            Set<Long> deptIdSet = orgSubUserDeptInfo.keySet();
+            for (Long deptId : deptIdSet){
+                if (!b || orgSubUserDeptInfo.get(deptId)) {
+                    model.setValue("yem_department",deptId);
+                    break;
+                }
+            }
         }
     }
 
@@ -288,22 +290,20 @@ public class SexTemplateFormPlugin extends AbstractBillPlugIn implements BeforeF
         }
         model.setValue("yem_baseqty",BigDecimal.ZERO,rowIndex);
     }
+
     /**
-     * @Description: 是否组织下级部门
-     * @function 功能 :判断组织是否在 部门的上级组织分录中
+     * @Description: 获取组织下级部门
+     * @function 功能 :获取组织下级部门
      * @purposes 用途: 单据组织人员相关字段合规
      * @param org   组织
-     * @param dept  部门
-     * @return boolean 是否下级
+     * @return List<Long> 组织下级部门ID
      */
-    private boolean isOrgSubDept(DynamicObject org,DynamicObject dept){
-        DynamicObjectCollection structure = dept.getDynamicObjectCollection("structure");
-        List<Long> parentOrgIds = new ArrayList<>();
-        for (DynamicObject entry : structure){
-            DynamicObject viewparent = entry.getDynamicObject("viewparent");
-            if (!YEM.isEmpty(viewparent))parentOrgIds.add(viewparent.getLong("id"));
-        }
-        return parentOrgIds.contains(org.getLong("id"));
+    private List<Long> getOrgSubDept(DynamicObject org){
+        DynamicObject[] depts = BusinessDataServiceHelper.load("bos_adminorg","id",
+                new QFilter[]{new QFilter("enable", QCP.equals, "1"),
+                        new QFilter("status", QCP.equals, "C"),
+                        new QFilter("structure.viewparent.id", QCP.equals, org.getLong("id")) });
+        return Arrays.stream(depts).map(x -> x.getLong("id")).collect(Collectors.toList());
     }
 
     /**
@@ -318,14 +318,15 @@ public class SexTemplateFormPlugin extends AbstractBillPlugIn implements BeforeF
     private Map<Long,Boolean> getOrgSubUserDeptInfo(DynamicObject org, DynamicObject user){
         // 定义Map统计部门信息
         Map<Long,Boolean> result = new HashMap<>();
+        // 组织下级部门id集合
+        List<Long> orgSubDeptIds = getOrgSubDept(org);
         // 人员部门分录
         DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity");
         for (DynamicObject entry : entryentity){
             DynamicObject dpt = entry.getDynamicObject("dpt");
-            dpt = BusinessDataServiceHelper.loadSingle(dpt.getLong("id"),"bos_adminorg");
-            boolean orgSubDept = isOrgSubDept(org, dpt);// 是否组织下部门
+            long dptId = dpt.getLong("id");
             boolean ispartjob = entry.getBoolean("ispartjob");// 是否兼职
-            if (orgSubDept)result.put(dpt.getLong("id"),ispartjob);
+            if (orgSubDeptIds.contains(dptId))result.put(dptId,ispartjob);
         }
         return result;
     }