榆叶和晨曦,人员分开
This commit is contained in:
parent
6e4c9c3c8f
commit
65884bbc8f
|
@ -0,0 +1,25 @@
|
||||||
|
package shkd.user.plugin;
|
||||||
|
|
||||||
|
import kd.bos.entity.datamodel.ITreeModel;
|
||||||
|
import kd.bos.entity.filter.FilterParameter;
|
||||||
|
import kd.bos.form.control.events.RefreshNodeEvent;
|
||||||
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
|
import kd.bos.list.BillList;
|
||||||
|
import kd.bos.list.plugin.AbstractListPlugin;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.EventObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 动态表单插件
|
||||||
|
*/
|
||||||
|
public class UserF7FormPlugin extends AbstractListPlugin implements Plugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeBindData(EventObject e) {
|
||||||
|
super.afterBindData(e);
|
||||||
|
BillList billList = this.getControl("billlistap");
|
||||||
|
FilterParameter queryFilterParameter = billList.getQueryFilterParameter();
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,93 @@
|
||||||
|
package shkd.user.plugin;
|
||||||
|
|
||||||
|
import kd.bos.context.RequestContext;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.filter.FilterParameter;
|
||||||
|
import kd.bos.entity.tree.TreeNode;
|
||||||
|
import kd.bos.filter.events.ExpandEvent;
|
||||||
|
import kd.bos.form.control.events.RefreshNodeEvent;
|
||||||
|
import kd.bos.form.events.FilterContainerInitArgs;
|
||||||
|
import kd.bos.form.events.SetFilterEvent;
|
||||||
|
import kd.bos.form.field.events.BeforeFilterF7SelectEvent;
|
||||||
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
|
import kd.bos.list.BillList;
|
||||||
|
import kd.bos.list.plugin.AbstractListPlugin;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 动态表单插件
|
||||||
|
*/
|
||||||
|
public class UserTreeListPlugin extends kd.bos.sec.user.plugin.UserTreeListPlugin implements Plugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initializeTree(EventObject e) {
|
||||||
|
super.initializeTree(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void refreshNode(RefreshNodeEvent e) {
|
||||||
|
super.refreshNode(e);
|
||||||
|
List<TreeNode> childNodes = e.getChildNodes();
|
||||||
|
System.out.println();
|
||||||
|
// childNodes.remove(0);
|
||||||
|
// e.setChildNodes(childNodes);
|
||||||
|
long currUserId = RequestContext.get().getCurrUserId();
|
||||||
|
|
||||||
|
QFilter qFilter = new QFilter("id", QCP.equals, currUserId);
|
||||||
|
DynamicObject bos_user = BusinessDataServiceHelper.loadSingle("bos_user", qFilter.toArray());
|
||||||
|
DynamicObjectCollection entryentity = bos_user.getDynamicObjectCollection("entryentity");
|
||||||
|
|
||||||
|
Boolean isCh = false; //晨曦
|
||||||
|
Boolean isYY = false; //榆叶
|
||||||
|
|
||||||
|
for (DynamicObject dynamicObject : entryentity) {
|
||||||
|
DynamicObject dpt = dynamicObject.getDynamicObject("dpt");
|
||||||
|
Boolean isYuYe = this.getIsYuYe(dpt);
|
||||||
|
if(isYuYe){
|
||||||
|
isYY = true;
|
||||||
|
}else{
|
||||||
|
isCh = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(!isCh|| !isYY){ //没有晨曦的权限
|
||||||
|
for (int i=childNodes.size()-1;i>=0;i--) {
|
||||||
|
TreeNode childNode = childNodes.get(i);
|
||||||
|
String id = childNode.getId();
|
||||||
|
if("noOrg".equals(id)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QFilter qf = new QFilter("id", QCP.equals, Long.valueOf(id));
|
||||||
|
DynamicObject bos_adminorg = BusinessDataServiceHelper.loadSingle("bos_adminorg", qf.toArray());
|
||||||
|
String number = bos_adminorg.getString("number");
|
||||||
|
if(!isYY&&"16004610".equals(number)){ //榆叶
|
||||||
|
childNodes.remove(childNode);
|
||||||
|
}else if(!isCh&&"16005873".equals(number)){ //晨曦
|
||||||
|
childNodes.remove(childNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断是否榆叶下的部门
|
||||||
|
private Boolean getIsYuYe( DynamicObject dpt){
|
||||||
|
|
||||||
|
List<Long> allSuperiorOrges = OrgUnitServiceHelper.getAllSuperiorOrgs("01", dpt.getLong("id"));
|
||||||
|
QFilter qf = new QFilter("number", QCP.equals, "16004610");
|
||||||
|
DynamicObject org_yuye = BusinessDataServiceHelper.loadSingle("bos_adminorg", qf.toArray());
|
||||||
|
Long id = org_yuye.getLong("id");
|
||||||
|
boolean contains = allSuperiorOrges.contains(id);
|
||||||
|
return contains;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue