Commit Graph

1085 Commits

Author SHA1 Message Date
liuy 3f3cf2aded 移除不必要的收支项目查询
移除了在SO销售和退货流程中不必要的收支项目查询,以优化性能和避免不必要的网络调用。之前,代码会查询BdInvcl和BdCostsubj实体,即使这些实体在当前的业务逻辑中并不需要。此更改简化了流程,移除了这些冗余查询,没有影响现有的功能。
2024-09-26 10:37:13 +08:00
liuy 34097c86b1 异常处理:为销售和退货同步方法添加try-catch块
为销售和退货同步方法(startImplement...)添加try-catch块,以处理可能的异常并记录错误。改进了方法
的健壮性,确保在遇到异常时能够优雅地处理,避免程序崩溃。
2024-09-25 18:27:11 +08:00
zhengyf 683593724d 丽知:修改仅退款插件。 2024-09-25 18:14:24 +08:00
zhengyf 975511582e 丽知:修改仅退款插件。 2024-09-25 16:26:48 +08:00
liuy 4feba7099f 代码重构:增强代码可读性和维护性
重构QuartzJobFactory类以提高代码清晰度和可维护性。调整代码格式,优化if条件语句,并精简方法参数对齐。通过这些改进,增强了代码的可读性和逻辑流程。此外,确保代码注释详细,提升文档质量。
2024-09-25 16:03:30 +08:00
liuy 955e840eb2 返回值优化:多个插件执行成功时返回统一成功消息
更改内容:
- 在多个插件初始化器中修改executeBusiness方法的返回值为BaseResult.getSuccessMessageEntity("插件执行成功")
-参与修改的插件包括:CustdocAutoAllotPluginInitializer, ShopPluginInitializer, SupplierPluginInitializer等

影响:
- 优化了插件执行成功的反馈机制,统一了返回的成功消息格式
2024-09-25 15:42:40 +08:00
zhengyf fa895c85e7 丽知:新增仅退款插件。 2024-09-25 14:42:23 +08:00
liuy 23aa38c58f 数据类型修改和多线程优化
- 实体类中整型字段改为字符串类型,以适配特定的数据库操作需求。
- 在数据映射文件中更新字段类型,保持与修改后的实体类一致。
- 重构executeBusiness方法,使用多线程异步执行业务逻辑,优化性能。
2024-09-25 13:16:43 +08:00
liuy 6c4ddb00a5 refactor(lets-plugin): 优化查询明细信息的同步机制
在查询IntegrationTaskLivingDetailsEntity时,引入同步锁以保证线程安全。重构相关代码,提升可读性与性能。
另外,修正了一些可能的NullPointerException问题。
2024-09-24 14:41:40 +08:00
liuy 9d4447ae7a 日志优化与测试用例时间参数化
- 扩展日志信息,使其包含插件名称、O接口返回行数及时间范围。
- 将现有测试代码中的硬编码时间替换为参数,以便于灵活测试。
- 通过这些改动,提高了日志的可读性,并使测试用例更加通用。
2024-09-24 14:11:05 +08:00
liuy b7139d7c1d ### commit message
#### 1. 和郭哥讨论之后给出的解决方案:先把这几行注释掉,处理定时器调用查询失败的我哪天
2024-09-24 13:09:58 +08:00
liuy e142ad212b Merge branch 'dev' of http://ufidahz.com.cn:9015/root/kangarooDataCenterV3 into lets
 Conflicts:
	buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java
2024-09-24 11:58:30 +08:00
liuy 9f6484c617 ```添加同步以防止查询日志明细时的潜在竞态条件
在`queryIntegrationTaskLivingDetails`方法中引入同步,以防止在查询日志明细时出现潜在的竞态条件问题。这确保了在多线程环境中访问共享资源时的数据一致性。
```
2024-09-24 11:54:17 +08:00
liuy abf1c5eaf4 ```更改时间参数确保库存和销售退货插件的正确行为库存和销售退货插件中的时间筛选参数已更新,以反映业务流程的最新需求。在`ConsignmachiningInReturn`中,发货时间(`shipAt`)现在用于查询,而非完成时间(`closedAt`)。而在`SoSaleReturnPluginInitializerToC`中,创建时间(`created`)的筛选已被关闭时间(`closedAt`)取代。这些更改确保插件现在使用的查询参数与业务逻辑保持一致。
```
2024-09-24 10:12:23 +08:00
liuy 21fd2283b2 ```修复外部加工入库和退货流程中的BOM版本号赋值问题
解决了外部加工入库和退货单据处理中BOM版本号未正确设置的问题。此更改确保了版本号与提供的BOM版本列表中的第一个元素匹配。
```
2024-09-24 10:01:51 +08:00
zhengyf afc265c4a3 丽知:修改插件执行返回结果 2024-09-24 09:59:48 +08:00
liuy ea24166934 代码重构和性能改进
-移除BOM版本在ConsignmachiningIn的设置
- 添加版本号设置为ConsignmachiningInBodyDto
- 移除未使用的BdInvmandocEntity查询
- 重构getBomVersion方法以获取最新的BOM版本
- 新增查询基础档案方法用于获取存货基本信息
- 重构ProxyPurchaseReturn和ProxyPurchaseWarehousOrder中关于赠品的判断逻辑
- 修改PoOrderChildrenDto中blargess字段类型为Boolean
- 同步处理SaveOrUpdateBusinessLogUtil中的日志保存或更新操作
- 调整数据库连接池配置以提高性能- 更新application-letsprod.yml中的数据库连接超时设置
2024-09-23 18:28:03 +08:00
liuy 01b144d4f7 文档更新和代码清理
- 文档中增加了关于字符串、字节和void数据类型的信息,完善了NumPy文档的常规介绍部分。- 解决了由于SQL查询中参数顺序错误导致的用户创建操作失败的问题,现在UUID可以正确分配给新用户记录。
-调整了EntityClass中的重新加载机制,以遵循`flush`参数,防止在刷新时刷新新实体。
- 代码库中进行了各种清理,包括使代码与规范一致、注释更新和移除未使用代码。
2024-09-23 15:31:46 +08:00
zhengyf f9ec24a772 丽知:修改 2024-09-23 14:22:41 +08:00
zhengyf 15e6019b06 丽知:新增仅退款插件。 2024-09-23 14:22:34 +08:00
liuy ca121aad33 refactor(buildpackage): 移除硬编码并更新报表查询
- 移除销售和退货插件初始化器中的硬编码字符串,使用新的标识符替换。
- 在报表实体类中添加新的查询字段,扩展报表查询功能。
- 更新报表详细实体类,包含额外的查询参数。
- 调整查询方法以支持新的查询参数,增强报表的筛选能力。

销售出库和退货报表的相关代码调整,旨在提高代码可维护性和查询灵活性。
2024-09-23 14:15:27 +08:00
liuy f99eace325 文档更新和异常处理优化
- 在QueryOfsSoSaleOutVo类中添加审核时间字段,优化销售订单查询逻辑。
- 统一 logger.error 输出格式,在ConsignmachiningIn、ConsignmachiningInReturn、ProxyPurchaseReturn、ProxyPurchaseWarehousOrder 和 ProxyPurchaseWarehousWarehouse 类中修正异常记录方法名称。
- 在SoSaleOutPluginInitializerToB类中增加同步方法的参数校验,并优化日志记录和异常处理。
- 在SoSaleOutPluginInitializerToC类中进行类似的日志和异常处理优化。
- 以上修改增强了代码的健壮性和可读性,同时提高了系统的错误处理能力。
2024-09-23 11:41:52 +08:00
liuy 66f63ec31e 优惠金额分摊功能实现在OFS销售和售后订单中
实现了OFS销售和售后订单的优惠金额分摊功能。此功能通过计算每个订单明细行的分摊比例,对平台、商家、达人、支付等优惠类型进行分摊。已更新相关的DTO类以包含分摊比例和分摊金额字段,并进行了测试以确保所有场景的正确性。

Closes <ISSUE_NUMBER_OR_URL>
2024-09-22 15:46:14 +08:00
liuy e913c13163 数据访问层和业务层接口与实现新增
服务模块中新增了多个数据访问对象(DAO)和业务服务(Service)的接口及其实现类。这些类提供了对OFS售后入库单、OFS出库单及其明细表的数据操作支持,包括实体类定义、数据库访问层和业务逻辑层的框架结构。此次更新为报告系统的库存管理相关功能奠定了基础。

- 新增`TocofsReturngoodsDaoImpl`、`TocofsReturngoodsDetailedDaoImpl`、`TocofsSaleoutDaoImpl`和`TocofsSaleoutDetailedDaoImpl`实现了对应的数据库访问逻辑。- 定义了`ITocofsReturngoodsDao`、`ITocofsReturngoodsDetailedDao`、`ITocofsSaleoutDao`和`ITocofsSaleoutDetailedDao`接口,声明了数据访问的基本操作方法。
- 创建了`TocofsReturngoodsEntity`、`TocofsReturngoodsDetailedEntity`、`TocofsSaleoutEntity`和`TocofsSaleoutDetailedEntity`实体类,对应数据库中的相关表结构。
- 实现了`TocofsReturngoodsServiceImpl`、`TocofsReturngoodsDetailedServiceImpl`、`TocofsSaleoutDetailedServiceImpl`服务层接口的默认服务逻辑。

此次提交是库存管理模块开发的第一步,后续将基于这些基础组件实现具体的业务逻辑和功能接口。
2024-09-21 17:35:20 +08:00
username c5182abbff 插件管理增加插件类型 2024-09-21 11:55:58 +08:00
sx e408a90049 Merge remote-tracking branch 'origin/lets' into lets 2024-09-21 11:48:54 +08:00
sx d1b2edcb09 更改日志源系统编码 2024-09-21 11:48:28 +08:00
liuy 336b898b19 ```禁用状态和店铺代码查询参数以解决ToC销售插件问题
在ToC销售插件初始化器中,已注释掉查询参数中对状态和店铺代码的设置,以解决不必要的查询限制问题。更新测试用例以反映这些更改,并重命名测试方法以符合新的实施策略。

更改包括:
- 注释掉`SoSaleOutPluginInitializerToC`中的状态和店铺代码设置
- 更新`SoSaleOutPluginInitializerToCTest`中的测试用例,以使用新的实施策略
- 重命名测试方法以清晰地描述其目的和行为
```
2024-09-21 10:33:06 +08:00
liuy 07bec9ac4b 文档添加关于字符串、字节和void数据类型的说明
在NumPy文档中,常规介绍部分现在包含了关于字符串、字节和void数据类型的信息,以及现有的数值类型。
2024-09-21 10:01:27 +08:00
sx e0aad444b1 更改日志源系统编码 2024-09-20 18:41:25 +08:00
zhengyf 32d5f2a99e 丽知:统一修改空指针问题 2024-09-20 17:55:05 +08:00
zhengyf 82eafde06d 丽知:新增ofs仅退款推送u8c红字应收 2024-09-20 17:23:16 +08:00
zhengyf 83dd53c1ab 丽知:调拨出库修改 2024-09-20 17:22:45 +08:00
zhengyf 7030655a59 丽知:其他出入库修改,调拨出库修改 2024-09-20 16:35:21 +08:00
liuy d661158240 文档添加关于字符串、字节和void数据类型的说明
在NumPy文档中,常规介绍部分现在包含了关于字符串、字节和void数据类型的信息,以及现有的数值类型。
2024-09-20 14:24:03 +08:00
sx 6ffd5b765a 更改日志源系统编码 2024-09-20 14:02:58 +08:00
zhengyf 28a5450f54 丽知:成套件修改 2024-09-20 14:00:23 +08:00
zhengyf 8ec6f45fad 丽知:成套件修改 2024-09-20 13:55:03 +08:00
zhengyf 1cd261c334 丽知:自动分配优化 2024-09-20 13:39:18 +08:00
zhengyf 813a65d8a6 丽知:调整入库优化 2024-09-20 13:34:08 +08:00
zhengyf 49877ff096 丽知:调整入库优化 2024-09-20 13:16:32 +08:00
zhengyf 9f24716b8e 丽知:调整入库优化 2024-09-20 12:25:14 +08:00
zhengyf 117b4cff1a 丽知:修改日志方法 2024-09-20 12:24:59 +08:00
zhengyf 6591b5c65c 丽知:修改日志方法 2024-09-20 12:24:36 +08:00
liuy f1726ba000 code differences:```
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java	(revision a9ec45f38a1e0a6d3a10f89902f59e79bf9db4e9)
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java
@@ -765,19 +765,19 @@
* @author liuyang
*/
private String createGenerateBusinessDateV2(StockinOrderSearchResponse.StockinOrder.StockinH header) {
- if (header != null) {
-            String shipAt = header.getShipAt();
+        if (header != null && header.getClosedAt() != null) {
+            String closedAt = header.getClosedAt();
String businessFormat = null;
try {
- Date dbill = DateUtil.parse(shipAt);
+                Date dbill = DateUtil.parse(closedAt);
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");
} catch (Exception e) {
logger.error("业务日期生成失败", e);
}
return businessFormat;
} else {
- logger.error("生成业务日期失败,或者shipAt为空! json:{}", JSON.toJSON(header));
-            Assert.state(false, "生成业务日期失败,或者shipAt为空! json:{}", JSON.toJSON(header));
+            logger.error("closedAt为空! json:{}", JSON.toJSON(header));
+            Assert.state(false, "closedAt为空! json:{}", JSON.toJSON(header));
return null;
}
}

--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java(revision a9ec45f38a1e0a6d3a10f89902f59e79bf9db4e9)+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java
@@ -840,8 +840,8 @@
}
return businessFormat;} else {
-            logger.error("生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto));
- Assert.state(false, "生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto));
+            logger.error("shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto));
+ Assert.state(false, "shipAt为空! json:{}", JSON.toJSON(returnOrderHeaderDto));
return null;
}
}--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java(revision a9ec45f38a1e0a6d3a10f89902f59e79bf9db4e9)+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java@@ -734,8 +734,8 @@
}
return businessFormat;
} else {
- logger.error("生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));
-            Assert.state(false, "生成采退出库日期失败,或者shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));
+ logger.error("shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));
+            Assert.state(false, "shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));
return null;
}
}

--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java	(revision a9ec45f38a1e0a6d3a10f89902f59e79bf9db4e9)
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java
@@ -231,8 +231,7 @@
queryOfsSoSaleOutVo.setPageSize(50L);
queryOfsSoSaleOutVo.setCode(code);
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
- //TODO 测试
-// queryOfsSoSaleOutVo.setStatus(900L);
+ queryOfsSoSaleOutVo.setStatus(900L);
ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search");logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
@@ -766,8 +765,8 @@* @author liuyang
*/private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) {
-        if (poOrderSonDto != null && poOrderSonDto.getCheckInTo() != null) {
-            String checkInTo = poOrderSonDto.getCheckInTo();
+        if (poOrderSonDto != null && poOrderSonDto.getClosedAt() != null) {+            String checkInTo = poOrderSonDto.getClosedAt();
String businessFormat = null;
try {
Date dbill = DateUtil.parse(checkInTo);
@@ -777,8 +776,8 @@}
return businessFormat;
} else {-            logger.error("生成采购订单入库日期失败,或者shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));
-            Assert.state(false, "生成采购订单入库日期失败,或者shipAt为空! json:{}", JSON.toJSON(poOrderSonDto));+            logger.error("closedAt为空! json:{}", JSON.toJSON(poOrderSonDto));
+            Assert.state(false, "closedAt为空! json:{}", JSON.toJSON(poOrderSonDto));return null;
}
}

--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java	(revision a9ec45f38a1e0a6d3a10f89902f59e79bf9db4e9)
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java
@@ -854,20 +854,20 @@
* @author liuyang
*/
private String createGenerateBusinessDate(OrderToBHeaderDto orderOutTobHeaderDto) {-        if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getCheckInFrom() != null) {
+        if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getClosedAt() != null) {
StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader();-            String checkInFrom = header.getCheckInFrom();
+            String closedAt = header.getClosedAt();String businessFormat = null;
try {-                Date dbill = DateUtil.parse(checkInFrom);
+                Date dbill = DateUtil.parse(closedAt);
businessFormat = DateUtil.format(dbill, "yyyy-MM-dd");} catch (Exception e) {
logger.error("业务日期生成失败", e);
}
return businessFormat;
} else {
-            logger.error("生成出库日期失败,或者checkInFrom为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
- Assert.state(false, "生成出库日期失败,或者checkInFrom为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
+            logger.error("生成出库日期失败,或者closedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
+            Assert.state(false, "生成出库日期失败,或者closedAt为空! json:{}", JSON.toJSON(orderOutTobHeaderDto));
return null;
}
}
@@ -1610,8 +1610,8 @@
tocofsReturngoodsDetailedEntity.setMaintableid(returnGoodSearchHeaderDto.getId());
}
//业务
2024-09-20 11:49:38 +08:00
liuy 85bbbddb92 修正了采购入库单生成接口,确保与最新业务逻辑一致。本次修改涉及多个类与方法的更新,具体包括调整采购订单的生成逻辑、修正入库单明细行的计算方式、以及更新相关DTO类。此外,还增加了对U8C采购订单的查询以确保数据匹配。
BREAKING CHANGE: 接口`sendU8CPoOrder`方法签名已更改,从`PoOrderHeadBodyDto`返回类型更改为`PoOrderResultDto`。调用此方法的代码需要处理新的返回类型。
2024-09-20 11:47:47 +08:00
zhengyf 152ef67839 丽知:存其他出入库修改 2024-09-20 11:35:48 +08:00
zhengyf 41a7af78c0 丽知:存货自动分类修改 2024-09-20 11:21:59 +08:00
zhengyf 34b7dd3430 丽知:如插入日志报错,请立刻回滚上一版!!! 2024-09-20 11:21:45 +08:00
zhengyf a5a7b112cc 丽知:如插入日志报错,请立刻回滚上一版!!! 2024-09-20 11:05:56 +08:00