parent
f07e70cca8
commit
b6a9815e00
|
@ -8,7 +8,6 @@ import kd.bos.dataentity.serialization.SerializationUtils;
|
||||||
import kd.bos.db.DB;
|
import kd.bos.db.DB;
|
||||||
import kd.bos.db.DBRoute;
|
import kd.bos.db.DBRoute;
|
||||||
import kd.bos.entity.EntityMetadataCache;
|
import kd.bos.entity.EntityMetadataCache;
|
||||||
import kd.bos.entity.ExtendedDataEntity;
|
|
||||||
import kd.bos.entity.MainEntityType;
|
import kd.bos.entity.MainEntityType;
|
||||||
import kd.bos.entity.filter.FilterBuilder;
|
import kd.bos.entity.filter.FilterBuilder;
|
||||||
import kd.bos.entity.filter.FilterCondition;
|
import kd.bos.entity.filter.FilterCondition;
|
||||||
|
@ -20,11 +19,9 @@ import kd.bos.logging.Log;
|
||||||
import kd.bos.logging.LogFactory;
|
import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.ORM;
|
import kd.bos.orm.ORM;
|
||||||
import kd.bos.orm.query.QCP;
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QContext;
|
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
import shkd.sys.sys.plugin.report.FinanceReportPlugin;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -44,25 +41,25 @@ public class BankSaveOP extends AbstractOperationServicePlugIn {
|
||||||
DynamicObject[] dataEntities = e.getDataEntities();
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if("banksave".equals(e.getOperationKey()) ) { //按钮操作编码
|
if ("banksave".equals(e.getOperationKey())) { //按钮操作编码
|
||||||
QFilter filter = new QFilter("billstatus", QCP.equals, "C");
|
QFilter filter = new QFilter("billstatus", QCP.equals, "C");
|
||||||
DynamicObject[] shkd_banksavekds = BusinessDataServiceHelper.load("shkd_banksavekd", "id,billno,shkd_filter,shkd_filter_tag", filter.toArray());
|
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) {
|
for (DynamicObject shkd_banksavekd : shkd_banksavekds) {
|
||||||
String shkd_filter = shkd_banksavekd.getString("shkd_filter_tag");
|
String shkd_filter = shkd_banksavekd.getString("shkd_filter_tag");
|
||||||
FilterCondition filterCondition = null;
|
FilterCondition filterCondition = null;
|
||||||
if (!StringUtils.isEmpty(shkd_filter)) {
|
if (!StringUtils.isEmpty(shkd_filter)) {
|
||||||
filterCondition = SerializationUtils.fromJsonString(shkd_filter, FilterCondition.class);
|
filterCondition = SerializationUtils.fromJsonString(shkd_filter, FilterCondition.class);
|
||||||
}
|
}
|
||||||
if (filterCondition != null){
|
if (filterCondition != null) {
|
||||||
MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType("bei_transdetail");
|
MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType("bei_transdetail");
|
||||||
FilterBuilder filterBuilder = new FilterBuilder(mainEntityType, filterCondition);
|
FilterBuilder filterBuilder = new FilterBuilder(mainEntityType, filterCondition);
|
||||||
filterBuilder.buildFilter();
|
filterBuilder.buildFilter();
|
||||||
QFilter qFilter1 = filterBuilder.getQFilter();
|
QFilter qFilter1 = filterBuilder.getQFilter();
|
||||||
if (qFilter==null){
|
if (qFilter == null) {
|
||||||
qFilter=qFilter1;
|
qFilter = qFilter1;
|
||||||
}else {
|
} else {
|
||||||
qFilter=qFilter.or(qFilter1);
|
qFilter = qFilter.or(qFilter1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -71,63 +68,64 @@ public class BankSaveOP extends AbstractOperationServicePlugIn {
|
||||||
List<String> ids = Arrays.stream(dataEntities) // 将数组转换为 Stream
|
List<String> ids = Arrays.stream(dataEntities) // 将数组转换为 Stream
|
||||||
.map(entity -> (String) entity.get("billno")) // 提取每个元素的 id
|
.map(entity -> (String) entity.get("billno")) // 提取每个元素的 id
|
||||||
.collect(Collectors.toList()); // 收集到 List 中
|
.collect(Collectors.toList()); // 收集到 List 中
|
||||||
logger.info("入参:"+ids.toString());
|
logger.info("入参:" + ids);
|
||||||
if(dataEntities != null && dataEntities.length != 0) {
|
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];
|
DynamicObject dynamicObject = dataEntities[i];
|
||||||
String description = dynamicObject.getString("description");
|
try {
|
||||||
if (qFilter!=null){
|
String description = dynamicObject.getString("description");
|
||||||
String sql = qFilter.toString();
|
if (qFilter != null) {
|
||||||
String replaced = sql.replace("description", "'"+description+"'");
|
String sql = qFilter.toString();
|
||||||
String selsql = " /*dialect*/ select 1 where "+replaced;
|
String replaced = sql.replace("description", "'" + description + "'");
|
||||||
DataSet res = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selsql);//财务云
|
String selsql = " /*dialect*/ select 1 where " + replaced;
|
||||||
DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(res.copy());
|
DataSet res = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selsql);//财务云
|
||||||
if (srcCollection.size()!=0){
|
DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(res.copy());
|
||||||
try {
|
if (srcCollection.size() != 0) {
|
||||||
dynamicObject.set("kdretflag", null); //数据赋值
|
dynamicObject.set("kdretflag", null); //数据赋值
|
||||||
logger.info("单据编号"+dynamicObject.getString("billno")+"进入banksavef方法直接赋值成功");
|
logger.info("单据编号" + dynamicObject.getString("billno") + "进入banksavef方法直接赋值成功");
|
||||||
} catch (Exception ex) {
|
|
||||||
logger.info("进入banksavef方法直接赋值失败");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.info("单据编号" + dynamicObject.getString("billno") + "进入banksavef方法直接赋值失败");
|
||||||
}
|
}
|
||||||
if(dynamicObject != null) {
|
|
||||||
|
if (dynamicObject != null) {
|
||||||
//通过基础资料或单据标识 的id 获取数据
|
//通过基础资料或单据标识 的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());
|
DynamicObject dynamicObject1 = BusinessDataServiceHelper.loadSingle("bei_transdetail", "id,billno,description,kdretflag", newqFilter.toArray());
|
||||||
if (dynamicObject1!=null){
|
if (dynamicObject1 != null) {
|
||||||
logger.info("已找到单据编号:"+dynamicObject.getString("billno")+"对应的交易明细");
|
logger.info("已找到单据编号:" + dynamicObject.getString("billno") + "对应的交易明细");
|
||||||
}else {
|
} else {
|
||||||
logger.info("未找到单据编号:"+dynamicObject.getString("billno")+"对应的交易明细");
|
logger.info("未找到单据编号:" + dynamicObject.getString("billno") + "对应的交易明细");
|
||||||
}
|
}
|
||||||
if (qFilter!=null){
|
if (qFilter != null) {
|
||||||
qFilter=qFilter.and(newqFilter);
|
qFilter = qFilter.and(newqFilter);
|
||||||
}else {
|
} else {
|
||||||
qFilter=newqFilter;
|
qFilter = newqFilter;
|
||||||
}
|
}
|
||||||
DynamicObject bei_transdetail = BusinessDataServiceHelper.loadSingle("bei_transdetail", "id,billno,description,kdretflag", qFilter.toArray());
|
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());
|
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); //数据赋值
|
bei_transdetail.set("kdretflag", null); //数据赋值
|
||||||
SaveServiceHelper.save(new DynamicObject[] {bei_transdetail});
|
SaveServiceHelper.save(new DynamicObject[]{bei_transdetail});
|
||||||
logger.info("bei_transdetail:"+dynamicObject.toString()+"赋值成功");
|
logger.info("bei_transdetail:" + dynamicObject + "赋值成功");
|
||||||
}else {
|
} else {
|
||||||
logger.info("dynamicObject:"+dynamicObject.toString()+"未找到");
|
logger.info("dynamicObject:" + dynamicObject + "未找到");
|
||||||
}
|
}
|
||||||
if (bei_transdetail_cas!=null){
|
if (bei_transdetail_cas != null) {
|
||||||
bei_transdetail_cas.set("kdretflag", 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) {
|
} catch (Exception ex) {
|
||||||
logger.error("banksave方法错误原因:"+ex.getMessage());
|
logger.error("banksave方法错误原因:" + ex.getMessage());
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
}
|
}
|
||||||
e.setDataEntities(dataEntities);
|
e.setDataEntities(dataEntities);
|
||||||
|
|
Loading…
Reference in New Issue