出库单添加申请人部门赋值过滤逻辑
This commit is contained in:
parent
efd8b2a3e5
commit
679eaaf77e
|
@ -14,6 +14,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 java.util.ArrayList;
|
||||
import java.util.EventObject;
|
||||
|
@ -24,6 +25,7 @@ import java.util.List;
|
|||
* 说明:1:核算组织由项目中的财务记账组织携带而来
|
||||
* 2:使用设备过滤,通过核算组织与使用设备中的使用组织比对而来过滤
|
||||
* 3:科目属性过滤和成本分解结构必录逻辑控制
|
||||
* 4:申请人部门赋值过滤
|
||||
*/
|
||||
public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
|
||||
|
||||
|
@ -38,9 +40,21 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF
|
|||
if (zcgj_accounttype != null) {
|
||||
zcgj_accounttype.addBeforeF7SelectListener(this);
|
||||
}
|
||||
BasedataEdit zcgj_applidepart = this.getControl("zcgj_applidepart"); //申请人部门
|
||||
if (zcgj_applidepart != null) {
|
||||
zcgj_applidepart.addBeforeF7SelectListener(this);
|
||||
}
|
||||
this.addItemClickListeners("advcontoolbarap");//出库单明细分录工具栏
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCreateNewData(EventObject e) {
|
||||
super.afterCreateNewData(e);
|
||||
long currentUserId = UserServiceHelper.getCurrentUserId();//获取当前用户id
|
||||
long mainOrgID = UserServiceHelper.getUserMainOrgId(currentUserId);//获取用户默认部门id
|
||||
this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门
|
||||
}
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
super.propertyChanged(e);
|
||||
|
@ -90,6 +104,18 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF
|
|||
if (newValue == null || !newValue.equals(oldValue)) {
|
||||
this.getModel().setValue("zcgj_accounttype", null, rowIndex);//科目属性
|
||||
}
|
||||
} else if ("zcgj_outbound_by".equals(key)) {
|
||||
//出库申请人
|
||||
ChangeData[] changeSet = e.getChangeSet();
|
||||
ChangeData changeData = changeSet[0];
|
||||
Object newValue = changeData.getNewValue();//新值
|
||||
if (newValue == null) {
|
||||
this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段
|
||||
return;
|
||||
}
|
||||
DynamicObject zcgj_outbound_by = (DynamicObject) newValue;//出库申请人
|
||||
long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_outbound_by.getPkValue());//获取用户默认部门id
|
||||
this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,6 +183,20 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF
|
|||
this.getView().showErrorNotification("请先填写资源!");
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
}
|
||||
} else if ("zcgj_applidepart".equals(name)) {
|
||||
//申请人部门
|
||||
Object zcgj_outbound_by = this.getModel().getValue("zcgj_outbound_by");//出库申请人
|
||||
if (zcgj_outbound_by == null) {
|
||||
this.getView().showErrorNotification("请先填写出库申请人!!");
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
}
|
||||
DynamicObject zcgj_outbound_by1 = (DynamicObject) zcgj_outbound_by;//申请人
|
||||
List<Long> ids = new ArrayList<>();
|
||||
if (zcgj_outbound_by1 != null) {
|
||||
ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_outbound_by1.getPkValue());
|
||||
}
|
||||
qFilter = new QFilter("id", QCP.in, ids);
|
||||
formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级
|
||||
}
|
||||
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue