- 优化申请单携带资金计划科目的日志和多选下拉的逻辑

--s
This commit is contained in:
weiyunlong 2025-04-22 11:37:32 +08:00
parent 4abe6abd2f
commit 0ebf38acfb
1 changed files with 52 additions and 19 deletions

View File

@ -18,6 +18,7 @@ import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.bos.util.StringUtils; import kd.bos.util.StringUtils;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
import shjh.jhzj7.fi.fi.webapi.PayreceiptQueryControler; import shjh.jhzj7.fi.fi.webapi.PayreceiptQueryControler;
@ -102,6 +103,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q4 = new QFilter("shjh_bbhzz.fbasedataid", QCP.equals, null);//不包含不包含公司 QFilter q4 = new QFilter("shjh_bbhzz.fbasedataid", QCP.equals, null);//不包含不包含公司
qFilter = qFilter.and(q1.or(q2)).and(q3.or(q4)); qFilter = qFilter.and(q1.or(q2)).and(q3.or(q4));
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(公司范围)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//业务大类 && 不包含业务大类 //业务大类 && 不包含业务大类
DynamicObject shjhBizbig = bill.getDynamicObject("shjh_bizbig"); DynamicObject shjhBizbig = bill.getDynamicObject("shjh_bizbig");
@ -116,6 +120,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q2 = new QFilter("shjh_bizbig.fbasedataid", QCP.equals, null); QFilter q2 = new QFilter("shjh_bizbig.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q2); qFilter = qFilter.and(q2);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(业务大类)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//业务小类 //业务小类
DynamicObject shjhbizsmall = bill.getDynamicObject("shjh_basedatafield"); DynamicObject shjhbizsmall = bill.getDynamicObject("shjh_basedatafield");
if (null != shjhbizsmall) { if (null != shjhbizsmall) {
@ -127,7 +134,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q2 = new QFilter("shjh_bizsmall.fbasedataid", QCP.equals, null); QFilter q2 = new QFilter("shjh_bizsmall.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q2); qFilter = qFilter.and(q2);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(业务小类)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//原因码_多选基础资料 //原因码_多选基础资料
DynamicObject shjhYym = bill.getDynamicObject("shjh_yym"); DynamicObject shjhYym = bill.getDynamicObject("shjh_yym");
if (null != shjhYym) { if (null != shjhYym) {
@ -139,23 +148,27 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q2 = new QFilter("shjh_yym.fbasedataid", QCP.equals, null); QFilter q2 = new QFilter("shjh_yym.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q2); qFilter = qFilter.and(q2);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(原因码)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//是否充值类 //是否充值类
boolean shjhWhetherrechargecateg = bill.getBoolean("shjh_whetherrechargecateg"); boolean shjhWhetherrechargecateg = bill.getBoolean("shjh_whetherrechargecateg");
if (shjhWhetherrechargecateg) { if (shjhWhetherrechargecateg) {
QFilter q2 = new QFilter("shjh_czl", QCP.equals, shjhWhetherrechargecateg); QFilter q2 = new QFilter("shjh_czl", QCP.equals, shjhWhetherrechargecateg);
qFilter = qFilter.and(q2); qFilter = qFilter.and(q2);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(是否充值类)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//是否自行采购 //是否自行采购
boolean shjhZxcg = bill.getBoolean("shjh_zxcg"); boolean shjhZxcg = bill.getBoolean("shjh_zxcg");
if (shjhZxcg) { if (shjhZxcg) {
QFilter q3 = new QFilter("shjh_zxcg", QCP.equals, shjhZxcg); QFilter q3 = new QFilter("shjh_zxcg", QCP.equals, shjhZxcg);
qFilter = qFilter.and(q3); qFilter = qFilter.and(q3);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(是否自行采购)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//事业部_多选基础资料,通过申请单的二级部门去映射表查询(shjh_ejbm_syb) //事业部_多选基础资料,通过申请单的二级部门去映射表查询(shjh_ejbm_syb)
DynamicObject shjhSecondarydept = bill.getDynamicObject("shjh_secondarydept"); DynamicObject shjhSecondarydept = bill.getDynamicObject("shjh_secondarydept");
if (null != shjhSecondarydept) { if (null != shjhSecondarydept) {
@ -176,7 +189,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
} }
} }
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(事业部)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//会计科目_多选基础资料 //会计科目_多选基础资料
DynamicObject shjhSapkjkm = bill.getDynamicObject("shjh_sapkjkm"); DynamicObject shjhSapkjkm = bill.getDynamicObject("shjh_sapkjkm");
if (null != shjhSapkjkm) { if (null != shjhSapkjkm) {
@ -188,7 +203,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q7 = new QFilter("shjh_kjkm.fbasedataid", QCP.equals, null); QFilter q7 = new QFilter("shjh_kjkm.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q7); qFilter = qFilter.and(q7);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(会计科目)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//供应商_多选基础资料 分录 //供应商_多选基础资料 分录
DynamicObjectCollection entrys = bill.getDynamicObjectCollection("entry"); DynamicObjectCollection entrys = bill.getDynamicObjectCollection("entry");
if (!entrys.isEmpty()) { if (!entrys.isEmpty()) {
@ -226,7 +243,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
} }
} }
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(供应商/客户)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//采购组shjh_procurementteam && 不包含采购组 //采购组shjh_procurementteam && 不包含采购组
String shjhBhcgz = bill.getString("shjh_procurementteam"); String shjhBhcgz = bill.getString("shjh_procurementteam");
QFilter filter = new QFilter("number", QCP.equals, shjhBhcgz); QFilter filter = new QFilter("number", QCP.equals, shjhBhcgz);
@ -242,21 +261,24 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q22 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, null); QFilter q22 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q22); qFilter = qFilter.and(q22);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(采购组)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//外部系统单据类型_多选下拉 && 不包含单据类型 //外部系统单据类型_多选下拉 && 不包含单据类型
String shjhExternalsystemdocume = bill.getString("shjh_externalsystemdocume"); String shjhExternalsystemdocume = bill.getString("shjh_externalsystemdocume");
if (StringUtil.isNotEmpty(shjhExternalsystemdocume)) { if (StringUtil.isNotEmpty(shjhExternalsystemdocume)) {
QFilter q4 = new QFilter("shjh_billtype", QCP.like, "%"+shjhExternalsystemdocume+"%"); QFilter q4 = new QFilter("shjh_billtype", QCP.like, "%"+shjhExternalsystemdocume+"%");
QFilter q5 = new QFilter("shjh_billtype", QCP.equals, null); QFilter q5 = new QFilter("shjh_billtype", QCP.like, "%"+"%");
QFilter q6 = new QFilter("shjh_bbhdjlx" , QCP.like, "%"+shjhExternalsystemdocume+"%"); QFilter q6 = new QFilter("shjh_bbhdjlx" , QCP.like, "%"+shjhExternalsystemdocume+"%");
QFilter q7 = new QFilter("shjh_bbhdjlx", QCP.equals, null); QFilter q7 = new QFilter("shjh_bbhdjlx" , QCP.like, "%"+"%");
qFilter = qFilter.and(q4.or(q5)).and(q6.or(q7)); qFilter = qFilter.and(q4.or(q5)).and(q6.or(q7));
}else { }else {
QFilter q5 = new QFilter("shjh_billtype", QCP.equals, null); QFilter q5 = new QFilter("shjh_billtype", QCP.like, "%"+"%");
qFilter = qFilter.and(q5); qFilter = qFilter.and(q5);
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(外部系统单据类型)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//不包含币种 currency //不包含币种 currency
DynamicObject currency = bill.getDynamicObject("paycurrency"); DynamicObject currency = bill.getDynamicObject("paycurrency");
if (null != currency) { if (null != currency) {
@ -265,19 +287,20 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
QFilter q22 = new QFilter("shjh_bbhbz.fbasedataid", QCP.equals, null); QFilter q22 = new QFilter("shjh_bbhbz.fbasedataid", QCP.equals, null);
qFilter = qFilter.and(q11.or(q22)); qFilter = qFilter.and(q11.or(q22));
} }
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(币种)",""
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray()).length));
//todo:PO号是否为空
DynamicObject[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject", qFilter.toArray()); DynamicObject[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject", qFilter.toArray());
if (accounts.length > 1) { if (accounts.length > 1) {
// 根据生效日期,失效日期区间,判断当前时间满足的数据 // 根据生效日期,失效日期区间,判断当前时间满足的数据
// Date currentDate = new Date();
Date currentDate = bill.getDate("applydate");//申请日期 Date currentDate = bill.getDate("applydate");//申请日期
QFilter startDateFilter = new QFilter("shjh_begindate", QCP.less_equals, currentDate); QFilter startDateFilter = new QFilter("shjh_begindate", QCP.less_equals, currentDate);
QFilter endDateFilter = new QFilter("shjh_enddate", QCP.large_equals, currentDate); QFilter endDateFilter = new QFilter("shjh_enddate", QCP.large_equals, currentDate);
QFilter newFilter = qFilter.and(startDateFilter).and(endDateFilter); QFilter newFilter = qFilter.and(startDateFilter).and(endDateFilter);
//优先级为高的 //优先级为高的
accounts = BusinessDataServiceHelper.load("shjh_pay_account", "id", newFilter.toArray(),"shjh_priority"); accounts = BusinessDataServiceHelper.load("shjh_request_account", "id", newFilter.toArray(),"shjh_priority");
} }
if (accounts.length > 0) { if (accounts.length > 0) {
// 处理找到符合条件的账户 // 处理找到符合条件的账户
@ -290,4 +313,14 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
return null; return null;
} }
private String queryDyobj(QFilter qFilter){
String dyobj = "";
DynamicObject[] load = BusinessDataServiceHelper.load("shjh_request_account",
"id,shjh_membersubject", qFilter.toArray());
for (DynamicObject dynamicObject : load) {
dyobj = dyobj + dynamicObject.getString("number") + ",";
}
return dyobj;
}
} }