diff --git a/src/main/java/com/gaotao/modules/check/mapper/RfidCountSnapshotMapper.java b/src/main/java/com/gaotao/modules/check/mapper/RfidCountSnapshotMapper.java index 096d48e..33a8fc2 100644 --- a/src/main/java/com/gaotao/modules/check/mapper/RfidCountSnapshotMapper.java +++ b/src/main/java/com/gaotao/modules/check/mapper/RfidCountSnapshotMapper.java @@ -5,6 +5,8 @@ import com.gaotao.modules.check.entity.RfidCountSnapshot; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; + /** * @Description 标签盘点快照表Mapper - rqrq * @author rqrq @@ -66,6 +68,19 @@ public interface RfidCountSnapshotMapper extends BaseMapper { * @date 2026/03/16 */ int deleteSnapshotBySite(@Param("site") String site); + + /** + * @Description 将 last_count_date 早于 lastPandian 的快照备份到 rfid_count_snapshot_history,count_no 为归档批次(yyyyMMddHHmmss)- rqrq + */ + int backupStaleSnapshotToHistoryByLastPandian(@Param("site") String site, + @Param("lastPandian") Date lastPandian, + @Param("countNo") String countNo); + + /** + * @Description 删除 last_count_date 早于 lastPandian 的 rfid_count_snapshot 行(须先备份)- rqrq + */ + int deleteStaleRfidCountSnapshotByLastPandian(@Param("site") String site, + @Param("lastPandian") Date lastPandian); /** * @Description 从快照插入count_result(盘点结果,全部为OK无差异)- rqrq diff --git a/src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java b/src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java index b7259ea..fee1091 100644 --- a/src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java +++ b/src/main/java/com/gaotao/modules/check/service/impl/PhysicalInventoryServiceImpl.java @@ -10,6 +10,7 @@ import com.gaotao.modules.automatedWarehouse.entity.WmsOrderTaskDetailData; import com.gaotao.modules.automatedWarehouse.mapper.WcsIntegrationMapper; import com.gaotao.modules.check.entity.*; import com.gaotao.modules.check.mapper.PhysicalInventoryMapper; +import com.gaotao.modules.check.mapper.RfidCountSnapshotMapper; import com.gaotao.modules.check.service.PhysicalInventoryService; import com.gaotao.common.utils.R; import com.gaotao.modules.trans.entity.TransNoControl; @@ -26,6 +27,7 @@ import org.springframework.util.StringUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.*; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; import java.util.Set; @@ -50,6 +52,9 @@ public class PhysicalInventoryServiceImpl extends ServiceImpl DELETE FROM rfid_count_snapshot WHERE site = #{site} + + + + INSERT INTO rfid_count_snapshot_history ( + site, unit_id, part_no, qty, batch_no, + location_id, warehouse_id, wdr, + last_count_date, pallet_id, count_result, count_times, + remark, created_date, updated_date, + count_no, backup_date + ) + SELECT + site, unit_id, part_no, qty, batch_no, + location_id, warehouse_id, wdr, + last_count_date, pallet_id, count_result, count_times, + remark, created_date, updated_date, + #{countNo}, + GETDATE() + FROM rfid_count_snapshot + WHERE site = #{site} + AND last_count_date < #{lastPandian} + + + + + DELETE FROM rfid_count_snapshot + WHERE site = #{site} + AND last_count_date < #{lastPandian} +