Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/QueryInstancesFromPlugin.java
This commit is contained in:
commit
9f96ccdfc8
|
@ -12,6 +12,9 @@ import java.util.EventObject;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 用款申请单插件
|
||||
*/
|
||||
public class ApplicationfundsPlugin extends AbstractBillPlugIn implements AttachmentOperaClickListener {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -8,20 +8,37 @@ import kd.bos.form.control.Control;
|
|||
import kd.bos.form.control.events.BeforeClickEvent;
|
||||
import kd.bos.form.control.events.BeforeItemClickEvent;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.ssc.task.formplugin.util.VoucherUtil;
|
||||
|
||||
import java.util.EventObject;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
* 我的共享,任务审批时增加付款完成校验
|
||||
*/
|
||||
public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
||||
private static final Log log = LogFactory.getLog(TaskApproveFormCkPlugin.class);
|
||||
|
||||
private static Set<String> billTypes = new HashSet<String>();
|
||||
static {
|
||||
billTypes.add("er_repaymentbill");
|
||||
|
||||
billTypes.add("er_dailyreimbursebill");
|
||||
billTypes.add("er_publicreimbursebill");
|
||||
billTypes.add("er_tripreimbursebill");
|
||||
billTypes.add("er_dailyloanbill");
|
||||
billTypes.add("er_prepaybill");
|
||||
billTypes.add("er_applypaybill");
|
||||
billTypes.add("cas_paybill");
|
||||
}
|
||||
//
|
||||
public void registerListener(EventObject evt) {
|
||||
this.addClickListeners(new String[]{"submit", "submitandnext"});
|
||||
|
@ -48,41 +65,49 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
|||
String billid = "";
|
||||
String billNo = null;
|
||||
if (customParams != null) {
|
||||
log.info("TaskApproveFormCkPlugin:"+customParams.toString());
|
||||
log.info("TaskApproveFormCkPlugin:billtypeid "+customParams.get("billtypeid"));
|
||||
log.info("TaskApproveFormCkPlugin:tasktypeid "+customParams.get("tasktypeid"));
|
||||
log.info("TaskApproveFormCkPlugin:sscid "+customParams.get("sscid"));
|
||||
log.info("TaskApproveFormCkPlugin:billnumber "+customParams.get("billnumber"));
|
||||
log.info("TaskApproveFormCkPlugin:billid "+customParams.get("billid"));
|
||||
billtypeid = (Long)customParams.get("billtypeid");//单据类型id
|
||||
tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id
|
||||
sscid = (Long)customParams.get("sscid");//任务类型id
|
||||
sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id
|
||||
billnumber = (String)customParams.get("billnumber");//单据编码(单据标识 entityName)
|
||||
billid = (String)customParams.get("billid");//业务单据id
|
||||
billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号
|
||||
|
||||
IDataModel model = this.getModel();
|
||||
String operation = (String)model.getValue("operationgroupfield");
|
||||
if ("1".equals(operation)) { //如果审批操作是通过
|
||||
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid);
|
||||
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为:结算时
|
||||
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
|
||||
if(tasktypeArray != null && tasktypeArray.length > 0){
|
||||
DynamicObject tasktype = tasktypeArray[0];
|
||||
if(tasktypeid.getLong("id") == tasktype.getLong("id")) {
|
||||
if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) {
|
||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
|
||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter});
|
||||
String billstatus = sourceBillObject.getString("billstatus");
|
||||
if(!"G".equals(billstatus)) {
|
||||
if("er_repaymentbill".equals(billnumber)) {
|
||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
|
||||
evt.setCancel(true);
|
||||
}else if(
|
||||
"er_dailyreimbursebill".equals(billnumber) || //费用报销单
|
||||
"er_publicreimbursebill".equals(billnumber) || //对公报销的呢
|
||||
"er_tripreimbursebill".equals(billnumber) || //差旅报销单
|
||||
"er_dailyloanbill".equals(billnumber) || //借款单
|
||||
"er_prepaybill".equals(billnumber) || //预付单
|
||||
"er_applypaybill".equals(billnumber) || //付款申请单
|
||||
"cas_paybill".equals(billnumber) //付款处理单
|
||||
){
|
||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
|
||||
evt.setCancel(true);
|
||||
if(billTypes.contains(billnumber)){
|
||||
IDataModel model = this.getModel();
|
||||
String operation = (String)model.getValue("operationgroupfield");
|
||||
if ("1".equals(operation)) { //如果审批操作是通过
|
||||
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid);
|
||||
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为:结算时
|
||||
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
|
||||
if(tasktypeArray != null && tasktypeArray.length > 0){
|
||||
DynamicObject tasktype = tasktypeArray[0];
|
||||
if(tasktypeid == tasktype.getLong("id")) {
|
||||
if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) {
|
||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
|
||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter});
|
||||
String billstatus = sourceBillObject.getString("billstatus");
|
||||
if(!"G".equals(billstatus)) {
|
||||
if("er_repaymentbill".equals(billnumber)) {
|
||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
|
||||
evt.setCancel(true);
|
||||
}else if(
|
||||
"er_dailyreimbursebill".equals(billnumber) || //费用报销单
|
||||
"er_publicreimbursebill".equals(billnumber) || //对公报销的呢
|
||||
"er_tripreimbursebill".equals(billnumber) || //差旅报销单
|
||||
"er_dailyloanbill".equals(billnumber) || //借款单
|
||||
"er_prepaybill".equals(billnumber) || //预付单
|
||||
"er_applypaybill".equals(billnumber) || //付款申请单
|
||||
"cas_paybill".equals(billnumber) //付款处理单
|
||||
){
|
||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
|
||||
evt.setCancel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -91,11 +116,6 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
|||
}
|
||||
|
||||
}
|
||||
//System.out.println(billtypeid);
|
||||
//System.out.println(tasktypeid);
|
||||
//System.out.println(billnumber);
|
||||
//System.out.println(billid);
|
||||
//System.out.println(billNo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
package zcgj.zcdev.zcdev.fs.plugin.form;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
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.entity.datamodel.events.ChangeData;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.control.Button;
|
||||
import kd.bos.form.control.Control;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Date;
|
||||
import java.util.EventObject;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 差旅报销单-兖州公司座位等级发生改变事件校验插件
|
||||
*/
|
||||
public class TriprMulseatgradeCkPlugin extends AbstractBillPlugIn implements Plugin {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
//当前切换选择的组织
|
||||
Object company = this.getModel().getValue("costcompany");//核算组织(费用承担公司)
|
||||
Long currentOrgId = RequestContext.get().getOrgId();
|
||||
if(company!=null){
|
||||
String yzCompanyNumber ="10006475"; //兖州中材建设有限公司
|
||||
DynamicObject companyObj = (DynamicObject)company;
|
||||
Long companyId = companyObj.getLong("id");
|
||||
if(OrgCheckUtils.isKS(companyId)){
|
||||
String name = e.getProperty().getName();
|
||||
|
||||
if(name.equals("mulseatgrade")){//座位等级
|
||||
boolean childrenOrg = OrgCheckUtils.isChildrenOrg(yzCompanyNumber, companyId);
|
||||
if(childrenOrg){
|
||||
this.getView().showErrorNotification("当前组织不允许改变座位等级。");
|
||||
}
|
||||
}else if(name.equals("comment")){//座位等级
|
||||
boolean childrenOrg = OrgCheckUtils.isChildrenOrg(yzCompanyNumber, companyId);
|
||||
// if(childrenOrg){
|
||||
this.getView().showErrorNotification("当前组织不允许改变座位等级。");
|
||||
ChangeData[] changeSet = e.getChangeSet();
|
||||
String oldValue = (String) changeSet[0].getOldValue();
|
||||
int rowIndex = changeSet[0].getRowIndex();
|
||||
|
||||
// DynamicObject data = this.getModel().getDataEntity(true);
|
||||
// DynamicObjectCollection entry = data.getDynamicObjectCollection("tripentry");
|
||||
// DynamicObject row = entry.get(rowIndex);//entry
|
||||
// this.getModel().setValue("comment", oldValue);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
super.propertyChanged(e);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -9,6 +9,7 @@ import kd.bos.form.ShowType;
|
|||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.form.events.FilterContainerInitArgs;
|
||||
import kd.bos.form.events.HyperLinkClickArgs;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.form.field.events.BeforeFilterF7SelectEvent;
|
||||
import kd.bos.list.BillList;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
|
@ -22,6 +23,7 @@ import kd.bos.servicehelper.permission.PermissionServiceHelper;
|
|||
import kd.bos.servicehelper.user.UserServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -95,6 +97,27 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
List<QFilter> qFilters = e.getQFilters();
|
||||
for (QFilter qFilter : qFilters) {
|
||||
if("zcgj_org.id".equals(qFilter.getProperty())){
|
||||
String cp = qFilter.getCP();
|
||||
Object value = qFilter.getValue();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if("=".equals(cp) && value instanceof Long){ //vale值类型为Long
|
||||
sb.append(value);
|
||||
}else if("IN".equals(cp) && value instanceof ArrayList){ //value值类型为ArrayList
|
||||
for (Object o : (ArrayList) value) {
|
||||
sb.append(o).append(",");
|
||||
}
|
||||
}
|
||||
this.getPageCache().put("current_zcgj_orgid_in", sb.substring(0, sb.length()-1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void itemClick(ItemClickEvent evt) {
|
||||
super.itemClick(evt);
|
||||
|
|
|
@ -9,10 +9,15 @@ import kd.bos.dataentity.utils.StringUtils;
|
|||
import kd.bos.entity.datamodel.events.ChangeData;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.IPageCache;
|
||||
import kd.bos.form.ShowType;
|
||||
import kd.bos.form.control.EntryGrid;
|
||||
import kd.bos.form.events.HyperLinkClickEvent;
|
||||
import kd.bos.form.events.HyperLinkClickListener;
|
||||
import kd.bos.form.field.RefBillEdit;
|
||||
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;
|
||||
|
@ -21,12 +26,14 @@ import kd.sdk.plugin.Plugin;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EventObject;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收入合同确认单插件
|
||||
*/
|
||||
public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener {
|
||||
public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener, BeforeF7SelectListener {
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -84,6 +91,7 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement
|
|||
item.set("zcgj_remark",dynamicObject.getString("remark"));
|
||||
}
|
||||
this.getView().updateView("zcgj_itementry");
|
||||
|
||||
}
|
||||
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
|
@ -133,6 +141,11 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement
|
|||
super.registerListener(e);
|
||||
EntryGrid control = this.getControl("zcgj_entryentity");
|
||||
control.addHyperClickListener(this);
|
||||
|
||||
RefBillEdit outContractSett = this.getControl("zcgj_ec_in_contract_sett"); //支出合同结算单
|
||||
if(outContractSett != null) {
|
||||
outContractSett.addBeforeF7SelectListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -158,4 +171,22 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
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));
|
||||
}
|
||||
}
|
||||
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
QFilter qFilter = new QFilter("org", QCP.in, ids);
|
||||
showParameter.getListFilterParameter().getQFilters().add(qFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,6 +105,27 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
List<QFilter> qFilters = e.getQFilters();
|
||||
for (QFilter qFilter : qFilters) {
|
||||
if("zcgj_org.id".equals(qFilter.getProperty())){
|
||||
String cp = qFilter.getCP();
|
||||
Object value = qFilter.getValue();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if("=".equals(cp) && value instanceof Long){ //vale值类型为Long
|
||||
sb.append(value);
|
||||
}else if("IN".equals(cp) && value instanceof ArrayList){ //value值类型为ArrayList
|
||||
for (Object o : (ArrayList) value) {
|
||||
sb.append(o).append(",");
|
||||
}
|
||||
}
|
||||
this.getPageCache().put("current_zcgj_orgid_out", sb.substring(0, sb.length()-1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void itemClick(ItemClickEvent evt) {
|
||||
super.itemClick(evt);
|
||||
|
|
|
@ -11,11 +11,13 @@ import kd.bos.dataentity.utils.StringUtils;
|
|||
import kd.bos.entity.datamodel.events.ChangeData;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.IPageCache;
|
||||
import kd.bos.form.ShowType;
|
||||
import kd.bos.form.control.EntryGrid;
|
||||
import kd.bos.form.events.HyperLinkClickEvent;
|
||||
import kd.bos.form.events.HyperLinkClickListener;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.RefBillEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
import kd.bos.list.ListShowParameter;
|
||||
|
@ -25,6 +27,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.ec.contract.common.enums.DirectionEnum;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
import zcgj.zcdev.zcdev.pr.utils.OrgCheckUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
@ -56,8 +59,8 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
|
|||
}
|
||||
//calBcCxAmt();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void initData(Object contractSettleIdObj){
|
||||
|
@ -169,6 +172,11 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
|
|||
super.registerListener(e);
|
||||
EntryGrid control = this.getControl("zcgj_entryentity");
|
||||
control.addHyperClickListener(this);
|
||||
//kd.bos.form.field.RefBillEdit
|
||||
RefBillEdit outContractSett = this.getControl("current_zcgj_orgid_out"); //支出合同结算单
|
||||
if(outContractSett != null) {
|
||||
outContractSett.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
BasedataEdit contractprocess = this.getControl("zcgj_cbs"); //承包工序
|
||||
if(contractprocess != null) {
|
||||
|
@ -257,7 +265,19 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
|
|||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||
String name = beforeF7SelectEvent.getProperty().getName();
|
||||
if(name.equals("zcgj_cbs")) {//工序根据项目过滤
|
||||
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));
|
||||
}
|
||||
}
|
||||
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){
|
||||
DynamicObject project = (DynamicObject) projectObj;
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
package zcgj.zcdev.zcdev.pr.utils;
|
||||
|
||||
import kd.bos.entity.datamodel.IDataModel;
|
||||
|
||||
public class CommonUtils {
|
||||
public CommonUtils() {
|
||||
}
|
||||
|
||||
public static boolean isNewData(IDataModel model) {
|
||||
return !model.getDataEntity().getDataEntityState().getFromDatabase();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package zcgj.zcdev.zcdev.pr.utils;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
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){
|
||||
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);
|
||||
//orgIds.add(1692204547985902592L);
|
||||
orgIds.add(orgId);
|
||||
List<Long> subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true);
|
||||
Set<Long> orgSer = subOrgIds.stream().collect(Collectors.toSet());
|
||||
if(orgSer.contains(currentOrgId)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断某个组织是否在某个组织下面
|
||||
* parentOrgNumber 上层组织编码
|
||||
* currentOrgId 需要判断的组织id
|
||||
*/
|
||||
public static boolean isChildrenOrg(String parentOrgNumber,Long currentOrgId){
|
||||
QFilter filterOrgId = new QFilter("number", QCP.equals,parentOrgNumber);//中材矿山建设有限公司
|
||||
DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId});
|
||||
long orgId = adminOrg.getLong("id");
|
||||
List<Long> orgIds = new ArrayList<>(1);
|
||||
//orgIds.add(1692204547985902592L);
|
||||
orgIds.add(orgId);
|
||||
List<Long> subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true);
|
||||
Set<Long> orgSer = subOrgIds.stream().collect(Collectors.toSet());
|
||||
if(orgSer.contains(currentOrgId)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue