From b6a9815e00711e5c9aef76418c5d093c891a36a2 Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Thu, 22 May 2025 09:48:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/5/22=2010?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E4=BA=A4=E6=98=93=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E4=BF=9D=E5=AD=98=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/operation/BankSaveOP.java | 86 +++++++++---------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/BankSaveOP.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/BankSaveOP.java index b7222c7..d6fe134 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/BankSaveOP.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/BankSaveOP.java @@ -8,7 +8,6 @@ import kd.bos.dataentity.serialization.SerializationUtils; import kd.bos.db.DB; import kd.bos.db.DBRoute; import kd.bos.entity.EntityMetadataCache; -import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.MainEntityType; import kd.bos.entity.filter.FilterBuilder; import kd.bos.entity.filter.FilterCondition; @@ -20,11 +19,9 @@ import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; -import kd.bos.orm.query.QContext; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; -import shkd.sys.sys.plugin.report.FinanceReportPlugin; import java.util.Arrays; import java.util.List; @@ -44,25 +41,25 @@ public class BankSaveOP extends AbstractOperationServicePlugIn { DynamicObject[] dataEntities = e.getDataEntities(); try { - if("banksave".equals(e.getOperationKey()) ) { //按钮操作编码 + if ("banksave".equals(e.getOperationKey())) { //按钮操作编码 QFilter filter = new QFilter("billstatus", QCP.equals, "C"); DynamicObject[] shkd_banksavekds = BusinessDataServiceHelper.load("shkd_banksavekd", "id,billno,shkd_filter,shkd_filter_tag", filter.toArray()); - QFilter qFilter =null; + QFilter qFilter = null; for (DynamicObject shkd_banksavekd : shkd_banksavekds) { String shkd_filter = shkd_banksavekd.getString("shkd_filter_tag"); FilterCondition filterCondition = null; if (!StringUtils.isEmpty(shkd_filter)) { filterCondition = SerializationUtils.fromJsonString(shkd_filter, FilterCondition.class); } - if (filterCondition != null){ + if (filterCondition != null) { MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType("bei_transdetail"); FilterBuilder filterBuilder = new FilterBuilder(mainEntityType, filterCondition); filterBuilder.buildFilter(); QFilter qFilter1 = filterBuilder.getQFilter(); - if (qFilter==null){ - qFilter=qFilter1; - }else { - qFilter=qFilter.or(qFilter1); + if (qFilter == null) { + qFilter = qFilter1; + } else { + qFilter = qFilter.or(qFilter1); } } @@ -71,63 +68,64 @@ public class BankSaveOP extends AbstractOperationServicePlugIn { List ids = Arrays.stream(dataEntities) // 将数组转换为 Stream .map(entity -> (String) entity.get("billno")) // 提取每个元素的 id .collect(Collectors.toList()); // 收集到 List 中 - logger.info("入参:"+ids.toString()); - if(dataEntities != null && dataEntities.length != 0) { + logger.info("入参:" + ids); + if (dataEntities != null && dataEntities.length != 0) { - for(int i = 0;i < dataEntities.length;i ++) { + for (int i = 0; i < dataEntities.length; i++) { DynamicObject dynamicObject = dataEntities[i]; - String description = dynamicObject.getString("description"); - if (qFilter!=null){ - String sql = qFilter.toString(); - String replaced = sql.replace("description", "'"+description+"'"); - String selsql = " /*dialect*/ select 1 where "+replaced; - DataSet res = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selsql);//财务云 - DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(res.copy()); - if (srcCollection.size()!=0){ - try { + try { + String description = dynamicObject.getString("description"); + if (qFilter != null) { + String sql = qFilter.toString(); + String replaced = sql.replace("description", "'" + description + "'"); + String selsql = " /*dialect*/ select 1 where " + replaced; + DataSet res = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selsql);//财务云 + DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(res.copy()); + if (srcCollection.size() != 0) { dynamicObject.set("kdretflag", null); //数据赋值 - logger.info("单据编号"+dynamicObject.getString("billno")+"进入banksavef方法直接赋值成功"); - } catch (Exception ex) { - logger.info("进入banksavef方法直接赋值失败"); + logger.info("单据编号" + dynamicObject.getString("billno") + "进入banksavef方法直接赋值成功"); } } + } catch (Exception ex) { + logger.info("单据编号" + dynamicObject.getString("billno") + "进入banksavef方法直接赋值失败"); } - if(dynamicObject != null) { + + if (dynamicObject != null) { //通过基础资料或单据标识 的id 获取数据 - QFilter newqFilter =new QFilter("billno", QCP.equals,dynamicObject.getString("billno")); + QFilter newqFilter = new QFilter("billno", QCP.equals, dynamicObject.getString("billno")); DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle("bei_transdetail", "id,billno,description,kdretflag", newqFilter.toArray()); - if (dynamicObject1!=null){ - logger.info("已找到单据编号:"+dynamicObject.getString("billno")+"对应的交易明细"); - }else { - logger.info("未找到单据编号:"+dynamicObject.getString("billno")+"对应的交易明细"); + if (dynamicObject1 != null) { + logger.info("已找到单据编号:" + dynamicObject.getString("billno") + "对应的交易明细"); + } else { + logger.info("未找到单据编号:" + dynamicObject.getString("billno") + "对应的交易明细"); } - if (qFilter!=null){ - qFilter=qFilter.and(newqFilter); - }else { - qFilter=newqFilter; + if (qFilter != null) { + qFilter = qFilter.and(newqFilter); + } else { + qFilter = newqFilter; } DynamicObject bei_transdetail = BusinessDataServiceHelper.loadSingle("bei_transdetail", "id,billno,description,kdretflag", qFilter.toArray()); DynamicObject bei_transdetail_cas = BusinessDataServiceHelper.loadSingle(dynamicObject.getDynamicObjectType().toString(), "id,billno,description,kdretflag", qFilter.toArray()); - if(bei_transdetail != null ) { + if (bei_transdetail != null) { bei_transdetail.set("kdretflag", null); //数据赋值 - SaveServiceHelper.save(new DynamicObject[] {bei_transdetail}); - logger.info("bei_transdetail:"+dynamicObject.toString()+"赋值成功"); - }else { - logger.info("dynamicObject:"+dynamicObject.toString()+"未找到"); + SaveServiceHelper.save(new DynamicObject[]{bei_transdetail}); + logger.info("bei_transdetail:" + dynamicObject + "赋值成功"); + } else { + logger.info("dynamicObject:" + dynamicObject + "未找到"); } - if (bei_transdetail_cas!=null){ + if (bei_transdetail_cas != null) { bei_transdetail_cas.set("kdretflag", null); //数据赋值 - SaveServiceHelper.save(new DynamicObject[] {bei_transdetail_cas}); + SaveServiceHelper.save(new DynamicObject[]{bei_transdetail_cas}); } } - dataEntities[i]=dynamicObject; + dataEntities[i] = dynamicObject; } } } } catch (Exception ex) { - logger.error("banksave方法错误原因:"+ex.getMessage()); + logger.error("banksave方法错误原因:" + ex.getMessage()); throw new RuntimeException(ex); } e.setDataEntities(dataEntities);