Browse Source

2025-10-27

仓库盘点管理PDA功能
master
fengyuan_yang 4 months ago
parent
commit
78aee17ebe
  1. 31
      src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java
  2. 12
      src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java
  3. 9
      src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java
  4. 16
      src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java
  5. 8
      src/main/resources/mapper/warehouse/CountingWIPMapper.xml

31
src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java

@ -179,5 +179,36 @@ public class CountingWIPController extends AbstractController {
return R.error("确认失败: " + e.getMessage());
}
}
/**
* 删除WIP数据
*/
@PostMapping("delete")
public R delete(@RequestBody Map<String, Object> params) {
try {
String site = (String) params.get("site");
String reportId = (String) params.get("reportId");
String rollNo = (String) params.get("rollNo");
if (site == null || site.isEmpty()) {
return R.error("站点不能为空");
}
if (reportId == null || reportId.isEmpty()) {
return R.error("盘点任务单号不能为空");
}
if (rollNo == null || rollNo.isEmpty()) {
return R.error("标签条码不能为空");
}
countingWIPService.deleteByRollNo(site, reportId, rollNo);
return R.ok()
.put("code", 0)
.put("msg", "删除成功");
} catch (Exception e) {
logger.error("删除WIP数据失败", e);
return R.error("删除失败: " + e.getMessage());
}
}
}

12
src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java

@ -75,6 +75,18 @@ public interface CountingWIPMapper {
int deleteByReportId(@Param("site") String site,
@Param("reportId") String reportId);
/**
* 删除单条WIP数据
*
* @param site 站点
* @param reportId 盘点任务单号
* @param rollNo 标签条码
* @return 影响行数
*/
int deleteByRollNo(@Param("site") String site,
@Param("reportId") String reportId,
@Param("rollNo") String rollNo);
/**
* 检查标签是否存在于WIP中
*

9
src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java

@ -67,5 +67,14 @@ public interface CountingWIPService {
* @return 操作结果
*/
Map<String, Object> confirmCounting(String site, String reportId);
/**
* 删除单条WIP数据
*
* @param site 站点
* @param reportId 盘点任务单号
* @param rollNo 标签条码
*/
void deleteByRollNo(String site, String reportId, String rollNo);
}

16
src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java

@ -279,5 +279,21 @@ public class CountingWIPServiceImpl implements CountingWIPService {
throw new RuntimeException("确认盘点失败: " + e.getMessage(), e);
}
}
@Override
public void deleteByRollNo(String site, String reportId, String rollNo) {
logger.info("删除WIP数据,站点: {}, 盘点单号: {}, 标签条码: {}", site, reportId, rollNo);
try {
int count = countingWIPMapper.deleteByRollNo(site, reportId, rollNo);
if (count > 0) {
logger.info("删除WIP数据成功,删除行数: {}", count);
} else {
logger.warn("未找到要删除的WIP数据");
}
} catch (Exception e) {
logger.error("删除WIP数据失败,错误信息: {}", e.getMessage(), e);
throw new RuntimeException("删除WIP数据失败: " + e.getMessage(), e);
}
}
}

8
src/main/resources/mapper/warehouse/CountingWIPMapper.xml

@ -143,6 +143,14 @@
AND report_id = #{reportId}
</delete>
<!-- 删除单条WIP数据 -->
<delete id="deleteByRollNo">
DELETE FROM CountingWIP
WHERE site = #{site}
AND report_id = #{reportId}
AND roll_no = #{rollNo}
</delete>
<!-- 检查标签是否存在于WIP中 -->
<select id="checkWIPExists" resultMap="countingWIPMap">
SELECT

Loading…
Cancel
Save