Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
xiaoshi 2025-01-08 10:32:49 +08:00
commit 1b7e75fb29
11 changed files with 669 additions and 39 deletions

View File

@ -0,0 +1,57 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.AfterF7SelectListener;
import kd.bos.form.field.events.BeforeF7SelectEvent;
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.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.EventObject;
public class AccountFilterPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
private final static String ACCOUNT_ITEM ="zcgj_account_item";
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户所属组织
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
//当前所在的组织是属于矿山下的 costcompany
//costcompany 费用承担公司
//DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
//long costcompanyId = costcompany.getLong("id");
//if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){
BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM);
fieldEdit.addBeforeF7SelectListener(this);
// }
}
@Override
public void beforeF7Select(BeforeF7SelectEvent arg0) {
String name = arg0.getProperty().getName();
if(name.equals(ACCOUNT_ITEM)){
//会计科目根据左树根据科目表编码过滤
String zcgjAccounttableNumber = (String)this.getModel().getValue("zcgj_accounttable_number");
QFilter accountTableFilter = new QFilter("number", QCP.equals,zcgjAccounttableNumber);
DynamicObject accountTableFilterObj = BusinessDataServiceHelper.loadSingle("bd_accounttable", "id,number", new QFilter[]{accountTableFilter});
if(accountTableFilterObj!=null){
long id = accountTableFilterObj.getLong("id");
ListShowParameter param = (ListShowParameter) arg0.getFormShowParameter();
param.getTreeFilterParameter().getQFilters().add(new QFilter("accounttableid", QCP.equals, id));
}
}
}
}

View File

@ -0,0 +1,69 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import com.alibaba.fastjson.JSONObject;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.exception.KDBizException;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.servicehelper.DispatchServiceHelper;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 对公报销单差旅报销单费用报销单超预算提醒
*/
public class BeyondBalancePlugin extends AbstractOperationServicePlugIn {
private static final Log log = LogFactory.getLog(zcgj.zcdev.zcdev.fs.plugin.form.BeyondBalancePlugin.class);
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
super.onPreparePropertys(e);
e.getFieldKeys().add("formid");
e.getFieldKeys().add("id");
e.getFieldKeys().add("costdept");
}
public BeyondBalancePlugin() {
}
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
//获取费用承担部门 costdept
e.addValidator(new AbstractValidator() {
public void validate() {
ExtendedDataEntity[] dataEntities = this.getDataEntities();
//当前提交的探亲单据id集合
for (ExtendedDataEntity extendedDataEntity : dataEntities) {
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
DynamicObject costcompany = dataEntity.getDynamicObject("costdept");
long costcompanyId = costcompany.getLong("id");
if(OrgCheckUtils.isKS(costcompanyId)){
String operateKey = this.getOperateKey();
DynamicObject[] dynamicObjects = (DynamicObject[])((List) Arrays.stream(dataEntities).map((k) -> {
return k.getDataEntity();
}).collect(Collectors.toList())).toArray(new DynamicObject[0]);
Object obj = DispatchServiceHelper.invokeBizService("epm", "eb", "BgControlService", "isBeyond", new Object[]{dynamicObjects, operateKey});
JSONObject json = (JSONObject)obj;
if (json != null) {
if (!"true".equals(json.get("canBeyond"))) {
throw new KDBizException(json.getString("message"));
}
this.addWarningMessage(dataEntities[0], json.getString("message"));
}
}
}
}
});
}
}

View File

@ -0,0 +1,76 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import com.alibaba.fastjson.JSONObject;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.exception.KDBizException;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.servicehelper.DispatchServiceHelper;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 预付单超预算提醒
*/
public class BeyondBalancePrepaybillPlugin extends AbstractOperationServicePlugIn {
private static final Log log = LogFactory.getLog(BeyondBalancePrepaybillPlugin.class);
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
super.onPreparePropertys(e);
e.getFieldKeys().add("formid");
e.getFieldKeys().add("id");
e.getFieldKeys().add("expenseentryentity");
e.getFieldKeys().add("expenseentryentity.entrycostdept");
}
public BeyondBalancePrepaybillPlugin() {
}
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
//获取费用承担部门 costdept
e.addValidator(new AbstractValidator() {
public void validate() {
ExtendedDataEntity[] dataEntities = this.getDataEntities();
//当前提交的探亲单据id集合
for (ExtendedDataEntity extendedDataEntity : dataEntities) {
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
DynamicObjectCollection dynamicObjectCollection = dataEntity.getDynamicObjectCollection("expenseentryentity");
if(dynamicObjectCollection!=null){
//判断预付信息中第一条费用承担部门
DynamicObject dynamicObject = dynamicObjectCollection.get(0);
DynamicObject entrycostdept = dynamicObject.getDynamicObject("entrycostdept");
long costcompanyId = entrycostdept.getLong("id");
if(OrgCheckUtils.isKS(costcompanyId)){
String operateKey = this.getOperateKey();
DynamicObject[] dynamicObjects = (DynamicObject[])((List) Arrays.stream(dataEntities).map((k) -> {
return k.getDataEntity();
}).collect(Collectors.toList())).toArray(new DynamicObject[0]);
Object obj = DispatchServiceHelper.invokeBizService("epm", "eb", "BgControlService", "isBeyond", new Object[]{dynamicObjects, operateKey});
JSONObject json = (JSONObject)obj;
if (json != null) {
if (!"true".equals(json.get("canBeyond"))) {
throw new KDBizException(json.getString("message"));
}
this.addWarningMessage(dataEntities[0], json.getString("message"));
}
}
}
}
}
});
}
}

View File

@ -3,6 +3,15 @@ package zcgj.zcdev.zcdev.fs.plugin.form;
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.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.ConfirmCallBackListener;
import kd.bos.form.MessageBoxOptions;
import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
@ -22,14 +31,87 @@ public class ContractbillContractpartyDefaultPlugin extends AbstractBillPlugIn
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(OrgCheckUtils.isKS(currentOrgId)){
Object company = this.getModel().getValue("costcompany");//核算组织
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
this.getModel().setValue("contractparty",companyObj);
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
QFilter numberFilter = new QFilter("number",QCP.equals,companyObj.getString("number"));
DynamicObject[] dynamicObjectOrg = BusinessDataServiceHelper.load("bos_org", "number,name", new QFilter[]{numberFilter});
if(dynamicObjectOrg!=null){
this.getModel().setValue("contractparty",dynamicObjectOrg[0]);//签约方名称
this.getModel().setValue("partatypenew","bos_org");//甲方类型,枚举: bd_supplier :供应商 bd_customer :客户 bos_adminorg :公司行政组织 bos_org :公司
this.getModel().setValue("partanew",dynamicObjectOrg[0]);//甲方名称
this.getView().updateView();
}
//业务分类设置为默认
QFilter nnumberFilter = new QFilter("number", QCP.equals,"MR");
DynamicObject projectTypeObj = BusinessDataServiceHelper.loadSingle("er_projecttype", "createorg", new QFilter[]{nnumberFilter});
if(projectTypeObj!=null){
this.getModel().setValue("projecttype",projectTypeObj);
}
//费用项目设置为默认
QFilter nameQFilterAccItem = new QFilter("number",QCP.equals,"MR");
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "id,number,name", new QFilter[]{nameQFilterAccItem});
if(dynamicObjectAccItem!=null){
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity().getDynamicObjectCollection("expenseentryentity");
for (DynamicObject dynamicObject : dynamicObjectCollection) {
dynamicObject.set("expenseitem",dynamicObjectAccItem);
}
}
}
}
}
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户的主职部门(组织)
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
//监听工具栏按钮点击事件
this.addItemClickListeners("advcontoolbarap3");
//this.addClickListeners("advcontoolbarap");
}
}
}
@Override
public void itemClick(ItemClickEvent evt) {
//费用项目设置为默认
super.itemClick(evt);
//付款计划增行
if (evt.getItemKey().equals("addloancheck1")) {
//业务分类设置为默认
QFilter nnumberFilter = new QFilter("number", QCP.equals,"MR");
DynamicObject projectTypeObj = BusinessDataServiceHelper.loadSingle("er_projecttype", "createorg", new QFilter[]{nnumberFilter});
if(projectTypeObj!=null){
this.getModel().setValue("projecttype",projectTypeObj);
}
//费用项目设置为默认
QFilter nameQFilterAccItem = new QFilter("number",QCP.equals,"MR");
DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "id,number,name", new QFilter[]{nameQFilterAccItem});
if(dynamicObjectAccItem!=null){
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity");
if(!dynamicObjectCollection.isEmpty()){
DynamicObject dynamicObject = dynamicObjectCollection.get(dynamicObjectCollection.size() - 1);
dynamicObject.set("expenseitem",dynamicObjectAccItem);
this.getView().updateView("expenseentryentity");
}
}
}
}
}

View File

@ -0,0 +1,138 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
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.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.EventObject;
/**
* 对公报销单费用报销单 成本中心默认值
*/
public class CostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plugin {
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
setCostValue();
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
String changeName = e.getProperty().getName();
if (changeName.equals("costcompany") || changeName.equals("costdept")) {
setCostValue();
}
super.propertyChanged(e);
}
public void setCostValue(){
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户的主职部门(组织)
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
String companyNumber = companyObj.getString("number");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
//costcompany 费用承担公司
//costdept 费用承担部门
//费用明细分录 expenseentryentity
//费用明细分录-成本中心 std_entrycostcenter
DynamicObject costcompanyObj = null;
//如果费用承担公司是五家本部公司
if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){
//费用承担部门带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costdept");
}else{
//费用承担公司带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany");
}
if(costcompanyObj!=null){
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity");
QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number"));
DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter});
for (DynamicObject dynamicObject : dynamicObjectCollection) {
if(dynamicObjectAccItem!=null){
dynamicObject.set("std_entrycostcenter",dynamicObjectAccItem[0]);
getView().updateView("expenseentryentity");
}
}
}
}
}
}
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户的主职部门(组织)
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
//监听工具栏按钮点击事件
this.addItemClickListeners("advcontoolbarap3");
//this.addClickListeners("advcontoolbarap");
}
}
}
@Override
public void itemClick(ItemClickEvent evt) {
//费用项目设置为默认
Object company = this.getModel().getValue("costcompany");//核算组织
if (company!=null && evt.getItemKey().equals("addloancheck1")) {
DynamicObject companyObj = (DynamicObject)company;
String companyNumber = companyObj.getString("number");
DynamicObject costcompanyObj = null;
//如果费用承担公司是五家本部公司
if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){
//费用承担部门带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costdept");
}else{
//费用承担公司带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany");
}
if(costcompanyObj!=null){
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity");
if(!dynamicObjectCollection.isEmpty()){
//bos_costcenter
QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number"));
DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter});
if(dynamicObjectAccItem!=null){
DynamicObject dynamicObject = dynamicObjectCollection.get(dynamicObjectCollection.size() - 1);
dynamicObject.set("std_entrycostcenter",dynamicObjectAccItem[0]);
}
}
this.getView().updateView("expenseentryentity");
}
}
super.itemClick(evt);
}
}

View File

@ -23,6 +23,7 @@ import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.bos.tree.TreeFilterParameter;
import kd.sdk.plugin.Plugin;
import java.util.ArrayList;
@ -60,6 +61,10 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
//分录值改变的行号
private static Integer selectRow = null;
//借款单
private static String BILL_TYPE ="er_dailyloanbill";
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
@ -97,8 +102,9 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
id=Long.valueOf(inputValue.toString());
}
if(id!=null){
QFilter nameQFilter = new QFilter(prefix+"_accounts", QCP.equals,id);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
QFilter nameQFilter = new QFilter(prefix+"_account_item", QCP.equals,id);
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter,billTypeQFilter});
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection(EXPENSE_ENTRY_ENTITY).get(selectRow);
boolean isEx = false;
if(dynamicObject2!=null){
@ -120,11 +126,12 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
if(inputValue!=null){
String id = String.valueOf(inputValue) ;
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
if(value==null && load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
}
}
@ -137,6 +144,15 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
String name = arg0.getProperty().getName();
if(name.equals(ACCOUNT_ITEM)){
selectRow = arg0.getRow();
//会计科目根据左树根据科目表编码过滤
String zcgjAccounttableNumber = (String)this.getModel().getValue("zcgj_accounttable_number");
QFilter accountTableFilter = new QFilter("number",QCP.equals,zcgjAccounttableNumber);
DynamicObject accountTableFilterObj = BusinessDataServiceHelper.loadSingle("bd_accounttable", "id,number", new QFilter[]{accountTableFilter});
if(accountTableFilterObj!=null){
long id = accountTableFilterObj.getLong("id");
ListShowParameter param = (ListShowParameter) arg0.getFormShowParameter();
param.getTreeFilterParameter().getQFilters().add(new QFilter("accounttableid", QCP.equals, id));
}
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
selectRow = arg0.getRow();
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
@ -177,10 +193,11 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
this.getModel().setValue(EXPENSE_ITEM,listSelectedRow.getPrimaryKeyValue(),index);
if(accountItem==null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,index);
}else{
this.getModel().setValue(ACCOUNT_ITEM,null,index);
@ -191,10 +208,11 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
//if(accountItem == null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_accounts");
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_account_item");
if(zcgjAccounts!=null){
//会计科目
insertRow.set(ACCOUNT_ITEM,zcgjAccounts);

View File

@ -57,6 +57,8 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
//分录值改变的行号
private static Integer selectRow = null;
private static String BILL_TYPE ="er_dailyreimbursebill";
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
@ -94,8 +96,9 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
id=Long.valueOf(inputValue.toString());
}
if(id!=null){
QFilter nameQFilter = new QFilter(prefix+"_accounts",QCP.equals,id);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
QFilter nameQFilter = new QFilter(prefix+"_account_item",QCP.equals,id);
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter,billTypeQFilter});
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection(EXPENSE_ENTRY_ENTITY).get(selectRow);
boolean isEx = false;
if(dynamicObject2!=null){
@ -117,11 +120,12 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
if(inputValue!=null){
String id = String.valueOf(inputValue) ;
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item,zcgj_entryentity.zcgj_rim_expense_type", new QFilter[]{nameQFilter,billTypeQFilter});
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
if(value==null && load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
}
}
@ -134,6 +138,15 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
String name = arg0.getProperty().getName();
if(name.equals(ACCOUNT_ITEM)){
selectRow = arg0.getRow();
//会计科目根据左树根据科目表编码过滤
String zcgjAccounttableNumber = (String)this.getModel().getValue("zcgj_accounttable_number");
QFilter accountTableFilter = new QFilter("number",QCP.equals,zcgjAccounttableNumber);
DynamicObject accountTableFilterObj = BusinessDataServiceHelper.loadSingle("bd_accounttable", "id,number", new QFilter[]{accountTableFilter});
if(accountTableFilterObj!=null){
long id = accountTableFilterObj.getLong("id");
ListShowParameter param = (ListShowParameter) arg0.getFormShowParameter();
param.getTreeFilterParameter().getQFilters().add(new QFilter("accounttableid", QCP.equals, id));
}
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
selectRow = arg0.getRow();
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
@ -175,10 +188,11 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
this.getModel().setValue(EXPENSE_ITEM,listSelectedRow.getPrimaryKeyValue(),index);
if(accountItem==null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,index);
}else{
this.getModel().setValue(ACCOUNT_ITEM,null,index);
@ -189,10 +203,11 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
//if(accountItem == null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_accounts");
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_account_item");
if(zcgjAccounts!=null){
//会计科目
insertRow.set(ACCOUNT_ITEM,zcgjAccounts);

View File

@ -7,18 +7,34 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class OrgCheckUtils {
public static String ksNumberTop = "10006431"; //矿山总部组织编码
public static String ksNumber = "10006447";//矿山总部本部
//试点四家公司本部
public static Set<String> testCompanyNumberSet = new HashSet<>();
static {
testCompanyNumberSet.add("10006461"); //南京本部
testCompanyNumberSet.add("10006476"); //兖州本部
testCompanyNumberSet.add("10007186"); //西安本部
testCompanyNumberSet.add("10006939"); //天津本部
}
/**
* 判断是否为矿山
*/
public static boolean isKS(Long currentOrgId){
String rootOrgCode = "10006431";//矿山总部组织编码
QFilter filterOrgId = new QFilter("number", QCP.equals,rootOrgCode);//中材矿山建设有限公司
QFilter filterOrgId = new QFilter("number", QCP.equals,ksNumberTop);//中材矿山建设有限公司
DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId});
long orgId = adminOrg.getLong("id");
List<Long> orgIds = new ArrayList<>(1);

View File

@ -60,6 +60,8 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
//分录值改变的行号
private static Integer selectRow = null;
private static String BILL_TYPE ="er_prepaybill";
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
@ -98,8 +100,9 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
id=Long.valueOf(inputValue.toString());
}
if(id!=null){
QFilter nameQFilter = new QFilter(prefix+"_accounts", QCP.equals,id);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
QFilter nameQFilter = new QFilter(prefix+"_account_item", QCP.equals,id);
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter,billTypeQFilter});
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection(EXPENSE_ENTRY_ENTITY).get(selectRow);
boolean isEx = false;
if(dynamicObject2!=null){
@ -121,11 +124,12 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
if(inputValue!=null){
String id = String.valueOf(inputValue) ;
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
if(value==null && load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
}
}
@ -138,6 +142,15 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
String name = arg0.getProperty().getName();
if(name.equals(ACCOUNT_ITEM)){
selectRow = arg0.getRow();
//会计科目根据左树根据科目表编码过滤
String zcgjAccounttableNumber = (String)this.getModel().getValue("zcgj_accounttable_number");
QFilter accountTableFilter = new QFilter("number",QCP.equals,zcgjAccounttableNumber);
DynamicObject accountTableFilterObj = BusinessDataServiceHelper.loadSingle("bd_accounttable", "id,number", new QFilter[]{accountTableFilter});
if(accountTableFilterObj!=null){
long id = accountTableFilterObj.getLong("id");
ListShowParameter param = (ListShowParameter) arg0.getFormShowParameter();
param.getTreeFilterParameter().getQFilters().add(new QFilter("accounttableid", QCP.equals, id));
}
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
selectRow = arg0.getRow();
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
@ -178,10 +191,11 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
this.getModel().setValue(EXPENSE_ITEM,listSelectedRow.getPrimaryKeyValue(),index);
if(accountItem==null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,index);
}else{
this.getModel().setValue(ACCOUNT_ITEM,null,index);
@ -192,10 +206,11 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
//if(accountItem == null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_accounts");
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_account_item");
if(zcgjAccounts!=null){
//会计科目
insertRow.set(ACCOUNT_ITEM,zcgjAccounts);

View File

@ -60,6 +60,9 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
//分录值改变的行号
private static Integer selectRow = null;
//对公报销单
private static String BILL_TYPE ="er_publicreimbursebill";
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
@ -97,8 +100,9 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
id=Long.valueOf(inputValue.toString());
}
if(id!=null){
QFilter nameQFilter = new QFilter(prefix+"_accounts", QCP.equals,id);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter});
QFilter nameQFilter = new QFilter(prefix+"_account_item", QCP.equals,id);
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle(MAP_TABLE, "createorg,zcgj_entryentity,zcgj_entryentity.zcgj_entity_items", new QFilter[]{nameQFilter,billTypeQFilter});
DynamicObject dynamicObject2 = this.getModel().getDataEntity(true).getDynamicObjectCollection(EXPENSE_ENTRY_ENTITY).get(selectRow);
boolean isEx = false;
if(dynamicObject2!=null){
@ -120,11 +124,12 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
if(inputValue!=null){
String id = String.valueOf(inputValue) ;
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,Long.valueOf(id));
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
Object value = this.getModel().getValue(ACCOUNT_ITEM, selectRow);
if(value==null && load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,selectRow);
}
}
@ -137,6 +142,15 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
String name = arg0.getProperty().getName();
if(name.equals(ACCOUNT_ITEM)){
selectRow = arg0.getRow();
//会计科目根据左树根据科目表编码过滤
String zcgjAccounttableNumber = (String)this.getModel().getValue("zcgj_accounttable_number");
QFilter accountTableFilter = new QFilter("number",QCP.equals,zcgjAccounttableNumber);
DynamicObject accountTableFilterObj = BusinessDataServiceHelper.loadSingle("bd_accounttable", "id,number", new QFilter[]{accountTableFilter});
if(accountTableFilterObj!=null){
long id = accountTableFilterObj.getLong("id");
ListShowParameter param = (ListShowParameter) arg0.getFormShowParameter();
param.getTreeFilterParameter().getQFilters().add(new QFilter("accounttableid", QCP.equals, id));
}
if("setItemByIdFromClient".equals(arg0.getSourceMethod()) ){
selectRow = arg0.getRow();
((BasedataEdit) arg0.getSource()).addAfterF7SelectListener(this);
@ -177,10 +191,11 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
this.getModel().setValue(EXPENSE_ITEM,listSelectedRow.getPrimaryKeyValue(),index);
if(accountItem==null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
long aLong = dynamicObject.getLong("zcgj_accounts_id");
long aLong = dynamicObject.getLong("zcgj_account_item.id");
this.getModel().setValue(ACCOUNT_ITEM,aLong,index);
}else{
this.getModel().setValue(ACCOUNT_ITEM,null,index);
@ -191,10 +206,11 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen
//Object accountItem = this.getModel().getValue(ACCOUNT_ITEM, index);
//if(accountItem == null){
QFilter nameQFilter = new QFilter(prefix+"_entryentity.zcgj_entity_items.id", QCP.equals,listSelectedRow.getPrimaryKeyValue());
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_accounts", new QFilter[]{nameQFilter});
QFilter billTypeQFilter = new QFilter(prefix+"_entryentity.zcgj_rim_expense_type.number",QCP.equals,BILL_TYPE);
DynamicObject[] load = BusinessDataServiceHelper.load(MAP_TABLE, "createorg,zcgj_account_item", new QFilter[]{nameQFilter,billTypeQFilter});
if(load!=null && load.length>0){
DynamicObject dynamicObject = load[0];
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_accounts");
DynamicObject zcgjAccounts = dynamicObject.getDynamicObject("zcgj_account_item");
if(zcgjAccounts!=null){
//会计科目
insertRow.set(ACCOUNT_ITEM,zcgjAccounts);

View File

@ -0,0 +1,128 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
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.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.EventObject;
/**
* 差旅报销单 成本中心默认值
*/
public class TriprCostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plugin {
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
setCostValue();
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String changeName = e.getProperty().getName();
if (changeName.equals("costcompany") || changeName.equals("costdept")) {
setCostValue();
}
}
public void setCostValue(){
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户的主职部门(组织)
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
String companyNumber = companyObj.getString("number");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
//costcompany 费用承担公司
//costdept 费用承担部门
//费用明细分录 expenseentryentity
//费用明细分录-成本中心 std_entrycostcenter
DynamicObject costcompanyObj = null;
//如果费用承担公司是五家本部公司
if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){
//费用承担部门带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costdept");
}else{
//费用承担公司带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany");
}
if(costcompanyObj!=null){
QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number"));
DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter});
this.getModel().setValue("std_costcenter",dynamicObjectAccItem[0]);
getView().updateView("std_costcenter");
}
}
}
}
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
Long currentUserId = UserServiceHelper.getCurrentUserId();
// 当前用户的主职部门(组织)
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
//当前切换选择的组织
Long currentOrgId = RequestContext.get().getOrgId();
Object company = this.getModel().getValue("costcompany");//核算组织
//当前所在的组织是属于矿山下的
if(company!=null){
DynamicObject companyObj = (DynamicObject)company;
Long companyId = companyObj.getLong("id");
if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(companyId)){
//监听工具栏按钮点击事件
this.addItemClickListeners("advcontoolbarap3");
//this.addClickListeners("advcontoolbarap");
}
}
}
@Override
public void itemClick(ItemClickEvent evt) {
//费用项目设置为默认
Object company = this.getModel().getValue("costcompany");//核算组织
if (company!=null && evt.getItemKey().equals("addloancheck1")) {
DynamicObject companyObj = (DynamicObject)company;
String companyNumber = companyObj.getString("number");
DynamicObject costcompanyObj = null;
//如果费用承担公司是五家本部公司
if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){
//费用承担部门带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costdept");
}else{
//费用承担公司带入到成本中心
costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany");
}
if(costcompanyObj!=null){
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity");
if(!dynamicObjectCollection.isEmpty()){
//bos_costcenter
QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number"));
DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter});
if(dynamicObjectAccItem!=null){
this.getModel().setValue("std_costcenter",dynamicObjectAccItem[0]);
}
}
}
}
super.itemClick(evt);
}
}