Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
1b7e75fb29
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue