Compare commits

..

2 Commits

2 changed files with 30 additions and 1 deletions

View File

@ -5,6 +5,7 @@ import kd.bos.algo.JoinDataSet;
import kd.bos.algo.JoinType;
import kd.bos.algo.Row;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.resource.ResManager;
@ -41,6 +42,7 @@ import java.util.stream.Collectors;
* 2采购申请字段内容修改后清空分录
* 3采购申请字段过滤逻辑加仓库修改后清空采购申请字段
* 4申请人部门根据物资申请人过滤部门
* 5申请人部门赋值逻辑
*/
public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
@Override
@ -52,6 +54,14 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
zcgj_applidepart.addBeforeF7SelectListener(this);
}
@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);
@ -106,6 +116,19 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
if (newValue == null || !newValue.equals(oldValue)) {
this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请
}
} else if ("zcgj_reqperson".equals(key)) {
//物资申请人
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null) {
this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段
return;
}
DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人
long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id
this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门
}
}

View File

@ -8,6 +8,7 @@ import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.user.UserServiceHelper;
import java.util.ArrayList;
import java.util.EventObject;
@ -33,13 +34,18 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF
super.afterCreateNewData(e);
Object org = this.getModel().getValue("org");//所属组织
this.getModel().setValue("purchaseorg", org);//采购组织
DynamicObject applyer = (DynamicObject) this.getModel().getValue("applyer");//申请人
if (applyer != null) {
long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) applyer.getPkValue());
this.getModel().setValue("zcgj_persondepart", mainOrgID);//申请人部门
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg != null){
if (fiaccountorg != null) {
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();