入库单添加申请人部门过滤逻辑
This commit is contained in:
parent
79a38fedee
commit
7bc06ae346
|
@ -28,6 +28,7 @@ import kd.bos.orm.query.QCP;
|
|||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.user.UserServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
@ -39,6 +40,7 @@ import java.util.stream.Collectors;
|
|||
* 说明:1:入库单点击选择采购申请按钮后弹出对应采购申请分录内容,后通过选择弹出的采购申请分录行赋值给入库单中
|
||||
* 2:采购申请字段内容修改后清空分录
|
||||
* 3:采购申请字段过滤逻辑加仓库修改后清空采购申请字段
|
||||
* 4:申请人部门根据物资申请人过滤部门
|
||||
*/
|
||||
public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||
@Override
|
||||
|
@ -46,6 +48,8 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
|||
super.registerListener(e);
|
||||
RefBillEdit purchaseApply = getView().getControl("zcgj_purchaseapply");//采购申请
|
||||
purchaseApply.addBeforeF7SelectListener(this);
|
||||
BasedataEdit zcgj_applidepart = getView().getControl("zcgj_applidepart");//申请人部门
|
||||
zcgj_applidepart.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -107,18 +111,35 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
|||
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
List<QFilter> qFilters = new ArrayList<>();
|
||||
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||
if ("zcgj_purchaseapply".equals(propertyName)) {
|
||||
//采购申请
|
||||
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
|
||||
if (fiaccountorg == null) {
|
||||
this.getView().showErrorNotification("请先填写财务记账组织!!");
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
}
|
||||
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;//财务记账组织
|
||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
List<QFilter> qFilters = new ArrayList<>();
|
||||
if (fiaccountorg1 != null) {
|
||||
qFilters.add(new QFilter("fiaccountorg.id", QCP.in, fiaccountorg1.get("id")));//财务记账组织
|
||||
}
|
||||
} else if ("zcgj_applidepart".equals(propertyName)) {
|
||||
//申请人部门
|
||||
Object zcgj_reqperson = this.getModel().getValue("zcgj_reqperson");//申请人
|
||||
if (zcgj_reqperson == null) {
|
||||
this.getView().showErrorNotification("请先填写物资申请人!!");
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
}
|
||||
DynamicObject zcgj_reqperson1 = (DynamicObject) zcgj_reqperson;//申请人
|
||||
List<Long> ids = new ArrayList<>();
|
||||
if (zcgj_reqperson1 != null) {
|
||||
ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson1.getPkValue());
|
||||
}
|
||||
qFilters.add(new QFilter("id", QCP.in, ids));
|
||||
formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级
|
||||
}
|
||||
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue