申请人若兼职多个岗位时,申请人部门不要带入默认值。涉及页面:采购申请单、入库单、出库单、设备调令单、维修申请单

This commit is contained in:
xuhaihui 2025-09-05 15:51:46 +08:00
parent 9bb2054b5b
commit f15714f936
4 changed files with 73 additions and 19 deletions

View File

@ -140,8 +140,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
long currentUserId = UserServiceHelper.getCurrentUserId();
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
this.getModel().setValue("zcgj_department", mainOrgId);//部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin(currentUserId);
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_department", ids.get(0));//部门
}
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
if (costDept != null) {
setOrg(costDept);

View File

@ -38,8 +38,10 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin,
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);//申请人部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin(currentUserId);
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门
}
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
@ -89,8 +91,12 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin,
return;
}
DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人
long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id
this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson.getPkValue());
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门
} else {
this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段
}
}
}

View File

@ -52,8 +52,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
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);//申请人部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin(currentUserId);
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门
}
}
@Override
@ -124,8 +126,12 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
return;
}
DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人
long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id
this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson.getPkValue());
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门
} else {
this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段
}
} else if ("totaloftaxamount".equals(key) || "taxamount".equals(key)) {
//入库含税总金额,税额
if ("taxamount".equals(key)) {

View File

@ -21,6 +21,7 @@ import java.util.List;
* 说明 1初始默认采购组织等于所属组织
* 2过滤项目项目的项目组织与财务记账组织一致才显示
* 3项目字段赋值
* 4申请人部门过滤赋值
*/
public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
@ -30,6 +31,10 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF
if (project != null) {
project.addBeforeF7SelectListener(this);
}
BasedataEdit zcgj_persondepart = this.getControl("zcgj_persondepart"); //申请人部门
if (zcgj_persondepart != null) {
zcgj_persondepart.addBeforeF7SelectListener(this);
}
}
@Override
@ -39,8 +44,10 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF
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);//申请人部门
List<Long> ids = UserServiceHelper.getOrgsUserJoin((Long) applyer.getPkValue());
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_persondepart", ids.get(0));//申请人部门
}
}
}
@ -59,19 +66,52 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF
} else {
this.getModel().setValue("project", null);//项目
}
} else if ("applyer".equals(key)) {
//申请人
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
if (newValue == null) {
this.getModel().setValue("zcgj_persondepart", null);//清空申请人部门字段
return;
}
DynamicObject applyer = (DynamicObject) newValue;//出库申请人
List<Long> ids = UserServiceHelper.getOrgsUserJoin((Long) applyer.getPkValue());
if (ids != null && ids.size() == 1) {
this.getModel().setValue("zcgj_persondepart", ids.get(0));//申请人部门
} else {
this.getModel().setValue("zcgj_persondepart", null);//清空申请人部门字段
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg != null) {
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织
formShowParameter.getListFilterParameter().setQFilters(qFilters);
if ("project".equals(propertyName)) {
// 项目
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg != null) {
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织
}
} else if ("zcgj_persondepart".equals(propertyName)){
// 申请人部门
Object applyer = this.getModel().getValue("applyer");//申请人
if (applyer == null) {
this.getView().showErrorNotification("请先填写出库申请人!!");
beforeF7SelectEvent.setCancel(true);
}
DynamicObject applyer1 = (DynamicObject) applyer;//申请人
List<Long> ids = new ArrayList<>();
if (applyer1 != null) {
ids = UserServiceHelper.getOrgsUserJoin((Long) applyer1.getPkValue());
}
qFilters.add(new QFilter("id", QCP.in, ids));
formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级
}
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
}