From 497fda61e3ade182ffe7cfe98be2f744ac8a4858 Mon Sep 17 00:00:00 2001 From: unknown <627433532@qq.com> Date: Mon, 29 Apr 2024 12:22:25 +0800 Subject: [PATCH 1/4] https://e.gitee.com/wei-code/issues/table?issue=I9GWDV --- .../src/main/java/cn/vertxup/fm/service/end/TransService.java | 2 +- .../modulat/io/vertx/mod/fm/uca/trans/Step06TransSettle.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java b/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java index 6646596b..d5794f87 100644 --- a/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java +++ b/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java @@ -79,7 +79,7 @@ public class TransService implements TransStub { IkWay.ofT2TI().transfer(trans, payments); // 防重复创建:Duplicate entry 'Cash' for key 'name_UNIQUE' - payments.forEach(payment -> payment.setKey(null)); + payments.forEach(payment -> payment.setKey(UUID.randomUUID().toString())); return Ux.Jooq.on(FTransItemDao.class).insertAsync(payments); }) diff --git a/zero-fm/src/main/modulat/io/vertx/mod/fm/uca/trans/Step06TransSettle.java b/zero-fm/src/main/modulat/io/vertx/mod/fm/uca/trans/Step06TransSettle.java index 1b97cde4..79bb30da 100644 --- a/zero-fm/src/main/modulat/io/vertx/mod/fm/uca/trans/Step06TransSettle.java +++ b/zero-fm/src/main/modulat/io/vertx/mod/fm/uca/trans/Step06TransSettle.java @@ -13,6 +13,7 @@ import io.vertx.up.util.Ut; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.UUID; /** * @author lang : 2024-01-24 @@ -35,6 +36,7 @@ class Step06TransSettle implements Trade, FTrans> { } trans.setType(EmTran.Type.SETTLEMENT.name()); trans.setName("ST:" + Ut.fromJoin(nameList)); + trans.setKey(UUID.randomUUID().toString()); // 此处构造完成 return Ux.future(trans); }) -- Gitee From 4724fea33899b1261b4f3558a799666f4ebee8da Mon Sep 17 00:00:00 2001 From: unknown <627433532@qq.com> Date: Mon, 29 Apr 2024 12:24:42 +0800 Subject: [PATCH 2/4] https://e.gitee.com/wei-code/issues/table?issue=I9GWDV --- .../src/main/java/cn/vertxup/fm/service/end/TransService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java b/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java index d5794f87..6646596b 100644 --- a/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java +++ b/zero-fm/src/main/java/cn/vertxup/fm/service/end/TransService.java @@ -79,7 +79,7 @@ public class TransService implements TransStub { IkWay.ofT2TI().transfer(trans, payments); // 防重复创建:Duplicate entry 'Cash' for key 'name_UNIQUE' - payments.forEach(payment -> payment.setKey(UUID.randomUUID().toString())); + payments.forEach(payment -> payment.setKey(null)); return Ux.Jooq.on(FTransItemDao.class).insertAsync(payments); }) -- Gitee From a5b5c1f0b29c8bec840b91c2c7aa5c8e7b285690 Mon Sep 17 00:00:00 2001 From: unknown <627433532@qq.com> Date: Wed, 3 Jul 2024 14:35:17 +0800 Subject: [PATCH 3/4] https://e.gitee.com/wei-code/issues/table?issue=IA7YQO --- .../extension/commerce/finance/uca/trans/Step05Debt.java | 5 ++++- .../commerce/finance/uca/trans/Step06TransSettle.java | 2 ++ .../commerce/finance/uca/trans/Step07TransDebt.java | 1 + .../extension/commerce/finance/uca/trans/Sync01Debt.java | 2 +- .../model/fm.trans/column.json | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step05Debt.java b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step05Debt.java index 6fe12e94..337593d3 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step05Debt.java +++ b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step05Debt.java @@ -66,7 +66,10 @@ class Step05Debt implements Trade, FDebt> { return this.executeItems(settlements, keySelected) .compose(ref::future) .compose(items -> Maker.ofD().buildAsync(data, items)) - .compose(Ux.Jooq.on(FDebtDao.class)::insertAsync) + .compose(entity -> { + entity.setKey(null); + return Ux.Jooq.on(FDebtDao.class).insertAsync(entity); + }) .compose(inserted -> { // 更新 items final List items = ref.get(); diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step06TransSettle.java b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step06TransSettle.java index c1b70d47..3e438214 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step06TransSettle.java +++ b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step06TransSettle.java @@ -13,6 +13,7 @@ import io.zerows.extension.commerce.finance.uca.enter.Maker; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.UUID; /** * @author lang : 2024-01-24 @@ -35,6 +36,7 @@ class Step06TransSettle implements Trade, FTrans> { } trans.setType(EmTran.Type.SETTLEMENT.name()); trans.setName("ST:" + Ut.fromJoin(nameList)); + trans.setKey(UUID.randomUUID().toString()); // 此处构造完成 return Ux.future(trans); }) diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step07TransDebt.java b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step07TransDebt.java index d78cfac7..62cdf01f 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step07TransDebt.java +++ b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Step07TransDebt.java @@ -29,6 +29,7 @@ class Step07TransDebt implements Trade, FTrans> { nameList.add(debt.getCode()); } } + trans.setKey(null); trans.setName("DR: " + Ut.fromJoin(nameList)); // 此处构造完成 return Ux.future(trans); diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Sync01Debt.java b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Sync01Debt.java index c38bb223..3508137b 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Sync01Debt.java +++ b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/uca/trans/Sync01Debt.java @@ -64,7 +64,7 @@ class Sync01Debt implements Trade { * finished = true * amountBalance = amount - finishedAmount */ - final BigDecimal amount = debt.getAmount(); + final BigDecimal amount = debt.getAmountBalance(); final BigDecimal amountFinished = new BigDecimal(Ut.valueString(dataJ, "finishedAmount")); final BigDecimal amountBalance = amount.subtract(amountFinished); diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/resources/plugins/zero-extension-commerce-finance/model/fm.trans/column.json b/Zero.Extension.Commerce.Finance.DB/src/main/resources/plugins/zero-extension-commerce-finance/model/fm.trans/column.json index 231ab455..82f1f217 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/resources/plugins/zero-extension-commerce-finance/model/fm.trans/column.json +++ b/Zero.Extension.Commerce.Finance.DB/src/main/resources/plugins/zero-extension-commerce-finance/model/fm.trans/column.json @@ -1,6 +1,8 @@ [ "serial,交易单号,,true", + "name,应收单号,,true", "amount,交易金额,CURRENCY", + { "metadata": "type,交易类型,MAPPING", "$mapping": { -- Gitee From 926063ef13b0ed6c4d35ab5f5749952194fef98c Mon Sep 17 00:00:00 2001 From: unknown <627433532@qq.com> Date: Fri, 5 Jul 2024 16:14:27 +0800 Subject: [PATCH 4/4] https://e.gitee.com/wei-code/issues/table?issue=IAAQ34 --- .../finance/agent/api/FetchActor.java | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/agent/api/FetchActor.java b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/agent/api/FetchActor.java index c48c1149..81107edb 100644 --- a/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/agent/api/FetchActor.java +++ b/Zero.Extension.Commerce.Finance.DB/src/main/java/io/zerows/extension/commerce/finance/agent/api/FetchActor.java @@ -2,6 +2,8 @@ package io.zerows.extension.commerce.finance.agent.api; import io.zerows.extension.commerce.finance.domain.tables.daos.FBillDao; import io.zerows.extension.commerce.finance.domain.tables.daos.FBillItemDao; +import io.zerows.extension.commerce.finance.domain.tables.daos.FTransDao; +import io.zerows.extension.commerce.finance.domain.tables.daos.FTransItemDao; import io.zerows.extension.commerce.finance.domain.tables.pojos.FBill; import io.zerows.extension.commerce.finance.agent.service.BookStub; import io.zerows.extension.commerce.finance.agent.service.FetchStub; @@ -10,6 +12,9 @@ import io.zerows.extension.commerce.finance.agent.service.end.TransStub; import io.vertx.core.Future; import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; +import io.zerows.extension.commerce.finance.domain.tables.pojos.FSettlement; +import io.zerows.extension.commerce.finance.domain.tables.pojos.FTrans; +import io.zerows.extension.commerce.finance.domain.tables.pojos.FTransItem; import io.zerows.extension.commerce.finance.eon.Addr; import io.vertx.up.annotations.Address; import io.vertx.up.annotations.Queue; @@ -111,9 +116,28 @@ public class FetchActor { response.put(KName.ITEMS, Ux.toJson(items)); return this.fetchStub.fetchSettlements(items); }).compose(settlements -> { - final JsonArray settlementJ = Ux.toJson(settlements); - response.put("settlements", settlementJ); - return Ux.future(response); + Set serial = null; + for (FSettlement item : settlements) { + serial = Set.of("ST:" + item.getSerial()); + } + return Ux.Jooq.on(FTransDao.class).fetchAsync("NAME", serial) + .compose(fTrans -> { + Set seria = null; + for (FTrans item : fTrans) { + seria = Set.of(item.getKey()); + } + return Ux.Jooq.on(FTransItemDao.class).fetchAsync("TRANSACTION_ID", seria); + }).compose(fTransItems -> { + final JsonArray settlementJ = Ux.toJson(settlements); + final JsonArray newSettlements = new JsonArray(); + settlementJ.forEach(item -> { + final JsonObject entries = Ux.toJson(item); + entries.put("payment", Ux.toJson(fTransItems)); + newSettlements.add(entries); + }); + response.put("settlements", newSettlements); + return Ux.future(response); + }); }).otherwise(Ux.otherwise(new JsonObject())); }); } -- Gitee