提交人:融资编制报表修改
This commit is contained in:
parent
82d188ac69
commit
8b037e6a3d
|
|
@ -0,0 +1,118 @@
|
||||||
|
package shkd.sys.sys.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.form.field.BasedataEdit;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.logging.Log;
|
||||||
|
import kd.bos.logging.LogFactory;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EventObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 付款处理表单插件
|
||||||
|
* 计划科目过滤
|
||||||
|
*/
|
||||||
|
public class JhkmglBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||||
|
private static final Log logger = LogFactory.getLog(JhkmglBillPlugin.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
// 侦听-基础资料选择按钮
|
||||||
|
BasedataEdit shkd_jhkm = this.getView().getControl("shkd_jhkm");
|
||||||
|
shkd_jhkm.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
// 获取点击的基础资料字段按钮的基础资料标识
|
||||||
|
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||||
|
// 都是这样获取对象,然后通过此对象设置过滤条件
|
||||||
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
// 判断点击的按钮是否是我们想要过滤的基础资料
|
||||||
|
if (StringUtils.equals("shkd_jhkm", propertyName)) {
|
||||||
|
String entityName = this.getModel().getDataEntityType().getName();
|
||||||
|
DynamicObject[] dynamicObjects = null;
|
||||||
|
DynamicObject dynamicObj = null;
|
||||||
|
DynamicObject org = (DynamicObject) this.getModel().getValue("org");
|
||||||
|
String org_name = org.getString("name");
|
||||||
|
boolean result = false;
|
||||||
|
if ("cas_paybill".equals(entityName)) {
|
||||||
|
dynamicObjects = BusinessDataServiceHelper.load("shkd_jhkmsypz", "id,shkd_syzz,shkd_sydj",
|
||||||
|
new QFilter("shkd_sydj", QCP.equals, "付款处理").toArray());
|
||||||
|
for (DynamicObject dynamicObject : dynamicObjects) {
|
||||||
|
Object shkdSyzz = dynamicObject.get("shkd_syzz");
|
||||||
|
if (shkdSyzz != null && org_name.equals(shkdSyzz.toString())) {
|
||||||
|
dynamicObj = dynamicObject;
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
dynamicObjects = BusinessDataServiceHelper.load("shkd_jhkmsypz", "id,shkd_syzz,shkd_sydj",
|
||||||
|
new QFilter("shkd_sydj", QCP.equals, "付款处理")
|
||||||
|
.and(new QFilter("shkd_syzz", QCP.equals, "其他公司")).toArray());
|
||||||
|
if (dynamicObjects != null && dynamicObjects.length == 1) {
|
||||||
|
dynamicObj = dynamicObjects[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("cas_recbill".equals(entityName)) {
|
||||||
|
dynamicObjects = BusinessDataServiceHelper.load("shkd_jhkmsypz", "id,shkd_syzz,shkd_sydj",
|
||||||
|
new QFilter("shkd_sydj", QCP.equals, "收款处理").toArray());
|
||||||
|
for (DynamicObject dynamicObject : dynamicObjects) {
|
||||||
|
Object shkdSyzz = dynamicObject.get("shkd_syzz");
|
||||||
|
if (shkdSyzz != null && org_name.equals(shkdSyzz.toString())) {
|
||||||
|
dynamicObj = dynamicObject;
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
dynamicObjects = BusinessDataServiceHelper.load("shkd_jhkmsypz", "id,shkd_syzz,shkd_sydj",
|
||||||
|
new QFilter("shkd_sydj", QCP.equals, "收款处理")
|
||||||
|
.and(new QFilter("shkd_syzz", QCP.equals, "其他公司")).toArray());
|
||||||
|
if (dynamicObjects != null && dynamicObjects.length == 1) {
|
||||||
|
dynamicObj = dynamicObjects[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dynamicObj != null) {
|
||||||
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(dynamicObj.getPkValue(), dynamicObj.getDynamicObjectType().getName());
|
||||||
|
DynamicObject shkdSytx = dynamicObject.getDynamicObject("shkd_sytx");
|
||||||
|
DynamicObjectCollection shkdSyjhkms = dynamicObject.getDynamicObjectCollection("shkd_syjhkm");
|
||||||
|
ArrayList<String> syjhkmNumberList = new ArrayList<>();
|
||||||
|
ArrayList<String> syjhkmpPrentrList = new ArrayList<>();
|
||||||
|
for (DynamicObject shkdSyjhkm : shkdSyjhkms) {
|
||||||
|
syjhkmNumberList.add(shkdSyjhkm.getDynamicObject("fbasedataid").getString("number"));
|
||||||
|
syjhkmpPrentrList.add(shkdSyjhkm.getDynamicObject("fbasedataid").getDynamicObject("parent").getString("number"));
|
||||||
|
}
|
||||||
|
|
||||||
|
QFilter qFilter1 = new QFilter("bodysystem", QCP.equals, shkdSytx.getPkValue());
|
||||||
|
QFilter qFilter2 = new QFilter("number", QCP.in, syjhkmNumberList);
|
||||||
|
formShowParameter.getListFilterParameter().getQFilters().add(qFilter1.and(qFilter2));// formShowParameter
|
||||||
|
//设置F7列表左树的过滤条件
|
||||||
|
QFilter qFilter3 = new QFilter("number", QCP.equals, "AC-SYS-009-029");
|
||||||
|
QFilter qFilter4 = new QFilter("dimtype", QCP.equals, "Period");
|
||||||
|
formShowParameter.getTreeFilterParameter().getQFilters().add(qFilter4);
|
||||||
|
} else {
|
||||||
|
beforeF7SelectEvent.setCancel(true);
|
||||||
|
logger.info("组织名称:{},未查到符合条件的计划科目配置", org_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package shkd.sys.sys.plugin.form;
|
||||||
|
|
||||||
import kd.bos.bill.AbstractBillPlugIn;
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.dataentity.utils.StringUtils;
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
import kd.bos.form.field.BasedataEdit;
|
import kd.bos.form.field.BasedataEdit;
|
||||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
|
|
@ -14,50 +15,43 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 付款处理表单插件
|
* 计划科目配置表单插件
|
||||||
* 计划科目过滤
|
*
|
||||||
*/
|
*/
|
||||||
public class FkclBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
public class JhkmpzBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||||
private static final Log logger = LogFactory.getLog(FkclBillPlugin.class);
|
private static final Log logger = LogFactory.getLog(JhkmpzBillPlugin.class);
|
||||||
@Override
|
@Override
|
||||||
public void registerListener(EventObject e) {
|
public void registerListener(EventObject e) {
|
||||||
super.registerListener(e);
|
super.registerListener(e);
|
||||||
// 侦听-基础资料选择按钮
|
// 侦听-基础资料选择按钮
|
||||||
BasedataEdit shkd_jhkm = this.getView().getControl("shkd_jhkm");
|
BasedataEdit shkd_jhkm = this.getView().getControl("shkd_syjhkm");
|
||||||
shkd_jhkm.addBeforeF7SelectListener(this);
|
shkd_jhkm.addBeforeF7SelectListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
||||||
// 获取点击的基础资料字段按钮的基础资料标识
|
// 获取点击的基础资料字段按钮的基础资料标识
|
||||||
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||||
// 都是这样获取对象,然后通过此对象设置过滤条件
|
// 都是这样获取对象,然后通过此对象设置过滤条件
|
||||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
// 判断点击的按钮是否是我们想要过滤的基础资料
|
// 判断点击的按钮是否是我们想要过滤的基础资料
|
||||||
if (StringUtils.equals("shkd_jhkm", propertyName)) {
|
String org_name = "";
|
||||||
|
QFilter qFilter1 = null;
|
||||||
|
if (StringUtils.equals("shkd_syjhkm", propertyName)) {
|
||||||
logger.info("点击基础资料按钮:{}", propertyName);
|
logger.info("点击基础资料按钮:{}", propertyName);
|
||||||
DynamicObject org = (DynamicObject) this.getModel().getValue("org");
|
// 使用体系
|
||||||
String org_name = org.getString("name");
|
DynamicObject shkdSytx = dataEntity.getDynamicObject("shkd_sytx");
|
||||||
logger.info("组织名称:{}", org_name);
|
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("fpm_bodysysmanage", "id,number", new QFilter("id", QCP.equals, shkdSytx.getPkValue()).toArray());
|
||||||
QFilter qFilter1 = null;
|
if (dynamicObjects != null && dynamicObjects.length > 0) {
|
||||||
if ("四川能源发展集团有限责任公司".equals(org_name)) {
|
DynamicObject company = dynamicObjects[0];
|
||||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("fpm_bodysysmanage", "id,number", new QFilter("number", QCP.equals, "SYS-008").toArray());
|
logger.info("体系:{}", company);
|
||||||
if (dynamicObjects != null && dynamicObjects.length > 0) {
|
qFilter1 = new QFilter("bodysystem", QCP.equals, company.getPkValue());
|
||||||
DynamicObject company = dynamicObjects[0];
|
|
||||||
logger.info("体系:{}", company);
|
|
||||||
qFilter1 = new QFilter("bodysystem", QCP.equals, company.getPkValue());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("fpm_bodysysmanage", "id,number", new QFilter("number", QCP.equals, "SYS-009").toArray());
|
|
||||||
if (dynamicObjects != null && dynamicObjects.length > 0) {
|
|
||||||
DynamicObject company = dynamicObjects[0];
|
|
||||||
logger.info("体系:{}", company);
|
|
||||||
qFilter1 = new QFilter("bodysystem", QCP.equals, company.getPkValue());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 获取列表的过滤条件,然后再赋值过滤条件
|
// 获取列表的过滤条件,然后再赋值过滤条件
|
||||||
formShowParameter.getListFilterParameter().setFilter(qFilter1);
|
formShowParameter.getListFilterParameter().setFilter(qFilter1);
|
||||||
Loading…
Reference in New Issue