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

This commit is contained in:
xiaoshi 2025-07-01 15:11:58 +08:00
commit 06e222897e
5 changed files with 115 additions and 25 deletions

View File

@ -100,7 +100,7 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple
@Override
public void setFilter(SetFilterEvent e) {
super.setFilter(e);
List<QFilter> qFilters = e.getQFilters();
/*List<QFilter> qFilters = e.getQFilters();
for (QFilter qFilter : qFilters) {
if("zcgj_org.id".equals(qFilter.getProperty())){
String cp = qFilter.getCP();
@ -115,7 +115,7 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple
}
this.getPageCache().put("current_zcgj_orgid_in", sb.substring(0, sb.length()-1));
}
}
}*/
}
@Override

View File

@ -3,6 +3,7 @@ package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.StringUtils;
@ -20,7 +21,9 @@ 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.permission.api.HasPermOrgResult;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.permission.PermissionServiceHelper;
import kd.ec.contract.common.enums.DirectionEnum;
import kd.sdk.plugin.Plugin;
@ -176,17 +179,29 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
if(name.equals("zcgj_ec_in_contract_sett")){
IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
String listOrgId = iPageCache.get("current_zcgj_orgid_in");
List<Long> ids = new ArrayList<>();
if(StringUtils.isNotBlank(listOrgId)){
for (String s : listOrgId.split(",")) {
ids.add(Long.parseLong(s));
}
long userId = Long.parseLong(RequestContext.get().getUserId());
boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户
boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户
if(!superUser && !adminUser) {
IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
//获取当前人员有权限的组织
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId()));
//有权的组织
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
//String listOrgId = iPageCache.get("current_zcgj_orgid_in");
// List<Long> ids = new ArrayList<>();
/*if(StringUtils.isNotBlank(listOrgId)){
for (String s : listOrgId.split(",")) {
ids.add(Long.parseLong(s));
}
}*/
// DynamicObject zcgjOrg = (DynamicObject) this.getModel().getValue("zcgj_org");
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs);
showParameter.getListFilterParameter().getQFilters().add(qFilter);
}
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
QFilter qFilter = new QFilter("org", QCP.in, ids);
showParameter.getListFilterParameter().getQFilters().add(qFilter);
}
}
}

View File

@ -108,7 +108,7 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl
@Override
public void setFilter(SetFilterEvent e) {
super.setFilter(e);
List<QFilter> qFilters = e.getQFilters();
/*List<QFilter> qFilters = e.getQFilters();
for (QFilter qFilter : qFilters) {
if("zcgj_org.id".equals(qFilter.getProperty())){
String cp = qFilter.getCP();
@ -123,7 +123,7 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl
}
this.getPageCache().put("current_zcgj_orgid_out", sb.substring(0, sb.length()-1));
}
}
}*/
}
@Override

View File

@ -5,6 +5,7 @@ import kd.bos.algo.Row;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.utils.StringUtils;
@ -23,8 +24,10 @@ 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.permission.api.HasPermOrgResult;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.permission.PermissionServiceHelper;
import kd.ec.contract.common.enums.DirectionEnum;
import kd.sdk.plugin.Plugin;
import zcgj.zcdev.zcdev.pr.utils.OrgCheckUtils;
@ -173,7 +176,7 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
EntryGrid control = this.getControl("zcgj_entryentity");
control.addHyperClickListener(this);
//kd.bos.form.field.RefBillEdit
RefBillEdit outContractSett = this.getControl("current_zcgj_orgid_out"); //支出合同结算单
RefBillEdit outContractSett = this.getControl("zcgj_ec_out_contract_sett"); //支出合同结算单
if(outContractSett != null) {
outContractSett.addBeforeF7SelectListener(this);
}
@ -266,17 +269,31 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
if(name.equals("zcgj_ec_out_contract_sett")){
IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
String listOrgId = iPageCache.get("current_zcgj_orgid_out");
List<Long> ids = new ArrayList<>();
if(StringUtils.isNotBlank(listOrgId)){
for (String s : listOrgId.split(",")) {
ids.add(Long.parseLong(s));
}
long userId = Long.parseLong(RequestContext.get().getUserId());
boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户
boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户
if(!superUser && !adminUser) {
//获取当前人员有权限的组织
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId()));
//有权的组织
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
//IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class);
//String listOrgId = iPageCache.get("current_zcgj_orgid_out");
//List<Long> ids = new ArrayList<>();
/*if(StringUtils.isNotBlank(listOrgId)){
for (String s : listOrgId.split(",")) {
hasPermOrgs.add(Long.parseLong(s));
}
}*/
// DynamicObject zcgjOrg = (DynamicObject) this.getModel().getValue("zcgj_org");
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs);
showParameter.getListFilterParameter().getQFilters().add(qFilter);
}
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
QFilter qFilter = new QFilter("org", QCP.in, ids);
showParameter.getListFilterParameter().getQFilters().add(qFilter);
}else if(name.equals("zcgj_cbs")) {//工序根据项目过滤
Object projectObj = this.getModel().getValue("zcgj_project");
if(projectObj instanceof DynamicObject){

View File

@ -0,0 +1,58 @@
package zcgj.zcdev.zcdev.pr.plugin.operate;
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.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
/**
* 收入合同结算冲销单反审核校验是否生成收入合同冲销单
*/
public class InContractSettleUnauditCheckOp extends AbstractOperationServicePlugIn {
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
super.onPreparePropertys(e);
e.getFieldKeys().add("billno");
//e.getFieldKeys().add("contract.zcgj_pricetype");
}
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
//当前所在的组织是属于矿山下的
e.getValidators().add(new ValidatorExt());
}
class ValidatorExt extends AbstractValidator {
@Override
public void validate() {
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
String billId = dataEntity.getString("id");
String billno = dataEntity.getString("billno");
//冲销单据
/*boolean isReversabillid = dataEntity.getBoolean("zcgj_is_reversabillid");
if (isReversabillid) {
DynamicObject[] load = BusinessDataServiceHelper.load("ec_in_contract_settle", "id,zcgj_reversabillid", new QFilter[]{new QFilter("zcgj_ec_outsettleid", QCP.equals, billId)});
if (load != null && load.length > 0) {
this.addFatalErrorMessage(extendedDataEntity, "收入合同结算冲销单【"+billno+"】存在收入合同结算冲销单,请删除收入合同结算冲销单后再进行反审核操作。");
return;
}
}*/
DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_in_finaceconfirm", "id,zcgj_ec_in_contractid", new QFilter[]{new QFilter("zcgj_ec_in_contractid", QCP.equals, billId)});
if (load != null && load.length > 0) {
this.addFatalErrorMessage(extendedDataEntity, "收入合同结算单【"+billno+"】存在收入合同确认单,请删除收入合同确认单后再进行反审核操作。");
return;
}
}
}
}
}