|
|
@@ -57,17 +57,19 @@ public class ReagentConsumableService {
|
|
|
|
|
|
/**------ 将原始数据转存到t_sjhccrklsysb表 ------*/
|
|
|
if (!dataList.isEmpty()) {
|
|
|
- // 为每条数据生成ID和sid
|
|
|
+ // 为每条数据生成id和sid
|
|
|
for (ReagentConsumableRawData data : dataList) {
|
|
|
- // 使用更安全的ID生成策略,包含更多唯一性因子
|
|
|
+ // id做为去重标识,使用 编码_业务类型_批次号_创建时间_数量 的组合作为唯一标识
|
|
|
String id = data.getProductCode() + "_" + data.getTransactionType() + "_" +
|
|
|
data.getBatchNumber() + "_" + data.getCreateTime() + "_" +
|
|
|
data.getProcessQuantity();
|
|
|
data.setId(id);
|
|
|
+
|
|
|
+ //sid做为流水号(每一次入库、出库流水的唯一编号),使用UUID
|
|
|
data.setSid(UUID.randomUUID().toString());
|
|
|
}
|
|
|
|
|
|
- // 批量插入到MySQL
|
|
|
+ // 批量插入到t_sjhccrklsysb原始数据表,插入过程中通过id去重,避免重复插入
|
|
|
int insertCount = reagentDao.insertBatch(dataList);
|
|
|
logger.info("将原始数据转存到t_sjhccrklsysb表共 {} 条数据", insertCount);
|
|
|
} else {
|