Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
7e704c2a70
|
@ -4,6 +4,8 @@ import kd.bos.bill.AbstractBillPlugIn;
|
||||||
import kd.bos.bill.BillShowParameter;
|
import kd.bos.bill.BillShowParameter;
|
||||||
import kd.bos.bill.OperationStatus;
|
import kd.bos.bill.OperationStatus;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||||
import kd.bos.entity.datamodel.events.ChangeData;
|
import kd.bos.entity.datamodel.events.ChangeData;
|
||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
import kd.bos.form.IClientViewProxy;
|
import kd.bos.form.IClientViewProxy;
|
||||||
|
@ -15,8 +17,10 @@ import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||||
import kd.bos.list.ListShowParameter;
|
import kd.bos.list.ListShowParameter;
|
||||||
import kd.bos.mvc.form.ClientViewProxy;
|
import kd.bos.mvc.form.ClientViewProxy;
|
||||||
|
import kd.bos.org.utils.OrgTreeUtils;
|
||||||
import kd.bos.orm.query.QCP;
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.user.UserServiceHelper;
|
import kd.bos.servicehelper.user.UserServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
@ -33,11 +37,21 @@ public class PaymentApplicationPlugin extends AbstractBillPlugIn implements Atta
|
||||||
@Override
|
@Override
|
||||||
public void registerListener(EventObject e) {
|
public void registerListener(EventObject e) {
|
||||||
super.registerListener(e);
|
super.registerListener(e);
|
||||||
BasedataEdit Value = this.getView().getControl("zcgj_department");//部门
|
BasedataEdit zcgj_department = this.getView().getControl("zcgj_department");//部门
|
||||||
Value.addBeforeF7SelectListener(this);
|
zcgj_department.addBeforeF7SelectListener(this);
|
||||||
|
BasedataEdit zcgj_org = this.getView().getControl("zcgj_org");//所属组织
|
||||||
|
zcgj_org.addBeforeF7SelectListener(this);
|
||||||
AttachmentPanel panel = getControl("attachmentpanel");//附件
|
AttachmentPanel panel = getControl("attachmentpanel");//附件
|
||||||
panel.addOperaClickListener(this);
|
panel.addOperaClickListener(this);
|
||||||
;
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterCreateNewData(EventObject e) {
|
||||||
|
super.afterCreateNewData(e);
|
||||||
|
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
|
||||||
|
if (costDept != null) {
|
||||||
|
setOrg(costDept);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -56,24 +70,10 @@ public class PaymentApplicationPlugin extends AbstractBillPlugIn implements Atta
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
|
||||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
|
||||||
DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人
|
|
||||||
if (creator == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<Long> id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id"));
|
|
||||||
List<QFilter> qFilter = new ArrayList<>();
|
|
||||||
qFilter.add(new QFilter("id", QCP.in, id));
|
|
||||||
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
|
||||||
formShowParameter.setCustomParam("isIncludeAllSub", "true");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
|
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
|
||||||
setAttFileVisble();
|
|
||||||
super.afterDoOperation(afterDoOperationEventArgs);
|
super.afterDoOperation(afterDoOperationEventArgs);
|
||||||
|
setAttFileVisble();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -81,11 +81,55 @@ public class PaymentApplicationPlugin extends AbstractBillPlugIn implements Atta
|
||||||
super.propertyChanged(e);
|
super.propertyChanged(e);
|
||||||
if (e.getProperty().getName().equals("attachmentpanel")) {
|
if (e.getProperty().getName().equals("attachmentpanel")) {
|
||||||
setAttFileVisble();
|
setAttFileVisble();
|
||||||
|
} else if (e.getProperty().getName().equals("zcgj_department")) {
|
||||||
|
//部门
|
||||||
|
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
|
||||||
|
if (costDept != null) {
|
||||||
|
setOrg(costDept);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
IDataEntityProperty property = beforeF7SelectEvent.getProperty();//过滤字段信息
|
||||||
|
String propertyName = property.getName();//过滤字段标识
|
||||||
|
if (propertyName.equals("zcgj_department")) {
|
||||||
|
// 部门
|
||||||
|
DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人
|
||||||
|
if (creator == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<Long> id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id"));
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
qFilter.add(new QFilter("id", QCP.in, id));
|
||||||
|
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
formShowParameter.setCustomParam("isIncludeAllSub", "true");
|
||||||
|
} else if (propertyName.equals("zcgj_org")) {
|
||||||
|
// 所属组织
|
||||||
|
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
|
||||||
|
DynamicObject zcgj_org = (DynamicObject) this.getModel().getValue("zcgj_org");//所属组织
|
||||||
|
if (costDept != null && zcgj_org != null) {
|
||||||
|
DynamicObject orgPattern = costDept.getDynamicObject("orgpattern");
|
||||||
|
if (orgPattern == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String orgPatternNumber = orgPattern.getString("number");
|
||||||
|
if (orgPatternNumber.equals("Orgform06")) {
|
||||||
|
Long id = (Long) zcgj_org.get("id");
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
qFilter.add(new QFilter("id", QCP.in, id));
|
||||||
|
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
// formShowParameter.setCustomParam(OrgTreeUtils.PARAM_INIT_ROOT_ORG_ID, id);
|
||||||
|
formShowParameter.setCustomParam("isIncludeAllSub", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAttFileVisble() {
|
private void setAttFileVisble() {
|
||||||
String billstatus = String.valueOf(this.getModel().getValue("status"));
|
String billstatus = String.valueOf(this.getModel().getValue("billstatus"));
|
||||||
if (!billstatus.equals("A")) {
|
if (!billstatus.equals("A")) {
|
||||||
AttachmentPanel attachmentPanel = this.getControl("attachmentpanel");
|
AttachmentPanel attachmentPanel = this.getControl("attachmentpanel");
|
||||||
List<Map<String, Object>> attachmentData = attachmentPanel.getAttachmentData();
|
List<Map<String, Object>> attachmentData = attachmentPanel.getAttachmentData();
|
||||||
|
@ -107,4 +151,51 @@ public class PaymentApplicationPlugin extends AbstractBillPlugIn implements Atta
|
||||||
cvp.setFieldProperty("attachmentpanel", "v", attachmentDatas);
|
cvp.setFieldProperty("attachmentpanel", "v", attachmentDatas);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setOrg(DynamicObject costDept) {
|
||||||
|
DynamicObject orgPattern = costDept.getDynamicObject("orgpattern");
|
||||||
|
if (orgPattern == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String orgPatternNumber = orgPattern.getString("number");
|
||||||
|
if (!orgPatternNumber.equals("Orgform06")) {
|
||||||
|
//填写的部门的形态不是部门时,直接将部门值赋值给所属组织
|
||||||
|
this.getModel().setValue("zcgj_org", costDept);//所属组织
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int a = 0;
|
||||||
|
DynamicObject cost;
|
||||||
|
DynamicObject viewParent = null;
|
||||||
|
while (true) {
|
||||||
|
if (a == 0) {
|
||||||
|
//第一次进入循环
|
||||||
|
cost = costDept;
|
||||||
|
} else {
|
||||||
|
QFilter[] qFilters = new QFilter[]{
|
||||||
|
new QFilter("number", QCP.equals, viewParent.getString("number"))
|
||||||
|
};
|
||||||
|
cost = BusinessDataServiceHelper.loadSingle("bos_adminorg", qFilters);
|
||||||
|
}
|
||||||
|
DynamicObjectCollection structureCollection = cost.getDynamicObjectCollection("structure");//组织结构分录
|
||||||
|
DynamicObject structure = structureCollection.get(0);
|
||||||
|
viewParent = structure.getDynamicObject("viewparent");//上级组织
|
||||||
|
String viewParentNumber = viewParent.getString("number");
|
||||||
|
QFilter[] qFilters = new QFilter[]{
|
||||||
|
new QFilter("number", QCP.equals, viewParentNumber)
|
||||||
|
};
|
||||||
|
DynamicObject bos_adminOrg = BusinessDataServiceHelper.loadSingle("bos_adminorg", qFilters);//行政组织
|
||||||
|
DynamicObject orgPattern1 = bos_adminOrg.getDynamicObject("orgpattern");//形态
|
||||||
|
String orgPatternNumber1 = orgPattern1.getString("number");
|
||||||
|
if (!orgPatternNumber1.equals("Orgform06")) {
|
||||||
|
//上级不为不为部门的时候,将现在查询的部门赋值给一级承担部门
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
a++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObject bos_adminorg = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{
|
||||||
|
new QFilter("number", QCP.equals, viewParent.getString("number"))});
|
||||||
|
this.getModel().setValue("zcgj_org", bos_adminorg);//所属组织
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue