Compare commits

...

2 Commits

Author SHA1 Message Date
5af579e36a 1 2025-03-14 13:08:45 +08:00
7ff44acb10 根据条码查询物料 2025-03-13 16:05:55 +08:00
8 changed files with 50 additions and 27 deletions

View File

@ -313,14 +313,14 @@ public class AppPmsController extends BaseController {
/**
* 模糊查询查询入库单表
* @param param 查询参数
* @param goodsCode 查询参数
* @return 返回结果
*/
@Anonymous
@GetMapping(value = "/getInfoWithString")
public AjaxResult getInfoWithString(@RequestParam("param") String param)
public AjaxResult getInfoWithString(@RequestParam("goodsCode") String goodsCode)
{
return success(appPmsOrderInService.getInfoWithString(param));
return success(appPmsOrderInService.getInfoWithString(goodsCode));
}
/**

View File

@ -184,12 +184,13 @@ public class AppTaskController extends BaseController
/**
* 反馈任务状态
*/
@ApiOperation("生成库位")
@Log(title = "执行任务", skipAuth = true)
@ApiOperation("反馈任务状态")
@Log(title = "反馈任务", skipAuth = true)
@PostMapping("/receiveTaskResult")
@Anonymous
public AjaxResult receiveTaskResult(@RequestBody TaskResultFeedRequest feedBackRequest)
{
logger.info("反馈任务状态。,请求任务{}",JSON.toJSONString(feedBackRequest));
// 判断请求参数是否齐全
if (feedBackRequest == null
|| StringUtils.isEmpty(feedBackRequest.getTaskId())
@ -296,14 +297,15 @@ public class AppTaskController extends BaseController
appTask.setVehicleId(wcsStackerTask.getVehicleNo());
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
if(!appTasks.isEmpty()){
logger.info("此托盘任务已存在");
return error("此托盘任务已存在");
}
AppTask appTask2 = new AppTask();
BeanUtils.copyProperties(wcsStackerTask, appTask2);
appTask2.setTaskId("RK"+System.currentTimeMillis());
appTask2.setWcsTaskId("RK"+System.currentTimeMillis());
appTask2.setTaskStatus(1);
appTask2.setTaskId(OrderCodeFactory.getOrderCode("", ""));
// appTask2.setWcsTaskId("RK"+System.currentTimeMillis());
appTask2.setTaskStatus(0);
appTask2.setTaskType(1);
appTask2.setOrigin(wcsStackerTask.getPoint());
appTask2.setTaskPriority(1);
@ -322,7 +324,7 @@ public class AppTaskController extends BaseController
updateLocation.setLocationId(location.getLocationId());
updateLocation.setLocationStatus(1);
appLocationService.updateAppLocation(updateLocation);
logger.info("wcs入库请求创建成功");
logger.info("wcs入库请求创建成功,载具号{},入库位置{}",wcsStackerTask.getVehicleNo(),location.getLocationId());
return success(wcsDate);
}
@ -333,6 +335,7 @@ public class AppTaskController extends BaseController
@Transactional
public AjaxResult taskResult(@RequestBody TaskResultFeedRequest taskResultFeedRequest)
{
logger.info("任务反馈");
if(ObjectUtil.isEmpty(taskResultFeedRequest.getTaskId()) ||
ObjectUtil.isEmpty(taskResultFeedRequest.getVehicleNo())){
return error("缺少请求数据");
@ -491,6 +494,7 @@ public class AppTaskController extends BaseController
}
}
logger.info("反馈成功");
return AjaxResult.success("成功");
}
@PostMapping("/kk")

View File

@ -194,20 +194,25 @@ public class TaskExecutor {
* 完成通常入库任务
*/
private void completeNormalInTask() {
logger.info("开始执行通常入库任务");
AppTask appTask = new AppTask();
appTask.setTaskStatus(5);
appTask.setTaskType(1);
List<AppTask> appTasks = appTaskService.selectAppTaskList(appTask);
logger.info("通常入库任务数量:{}", appTasks.size());
if (appTasks == null || appTasks.isEmpty()) {
return;
}
for (AppTask task : appTasks) {
logger.info("开始执行通常入库任务:{}", task.getTaskId());
// 检查是否存在库存
AppStock appStockCheck = new AppStock();
appStockCheck.setVehicleId(task.getVehicleId());
appStockCheck.setStockStatus(1);
List<AppStock> appStocks = appStockService.selectAppStockList(appStockCheck);
logger.info("通常入库任务:{},库存数量:{}", task.getTaskId(), appStocks.size());
if (!CollectionUtils.isEmpty(appStocks)) { // 存在库存可能是回库任务
logger.info("通常入库任务==============================");
int updateLocationWithVehicleId = appStockService.updateLocationWithVehicleId(task.getVehicleId(), task.getDestination());
logger.info("重新回库更新库存成功,更新条数:{}", updateLocationWithVehicleId);
} else {
@ -286,19 +291,21 @@ public class TaskExecutor {
appStock.setStockStatus(0);
appStock.setCreateTime(new Date());
appStock.setUpdateTime(new Date());
appStock.setCreateUser(SecurityUtils.getUsername());
appStock.setUpdateBy(SecurityUtils.getUsername());
appStock.setCreateUser("定时任务");
appStock.setUpdateBy("定时任务");
appStock.setRemark("空托入库");
appStockService.insertAppStock(appStock);
}
AppTaskBak appTaskBak = new AppTaskBak();
BeanUtils.copyProperties(task, appTaskBak);
logger.info("入库任务数据归档成功(回库)。{}", JSON.toJSONString(appTaskBak));
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
}
AppTaskBak appTaskBak = new AppTaskBak();
BeanUtils.copyProperties(task, appTaskBak);
logger.info("入库任务数据归档成功(回库)。{}", JSON.toJSONString(appTaskBak));
appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档
appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据
}
logger.info("完成通常入库任务完成===================");
}
/**
@ -441,7 +448,7 @@ public class TaskExecutor {
}
}
//java8 stream流过滤出appTasks数组中的stockId对应的vehicleId 去重
List<String> locations = appTasks.stream().map(AppTask::getLocationId).distinct().collect(Collectors.toList());
List<String> locations = appTasks.stream().map(AppTask::getOrigin).distinct().collect(Collectors.toList());
// List<String> vehicles = appTasks.stream().map(AppTask::getVehicleId).distinct().collect(Collectors.toList());
//更新库存中中这些vehicleId对应的stock_status为0,并且把locationId置空
// for (String vehicleId : vehicles) {

View File

@ -54,7 +54,8 @@ public interface AppPmsOrderInMapper
public int deleteAppPmsOrderInById(String id);
public List<AppPmsOrderIn> selectAppPmsOrderInListWithParam(@Param("param") String param);
public List<AppPmsOrderIn> selectAppPmsOrderInListWithParam(@Param("goodsCode") String goodsCode);
public List<AppPmsOrderIn> selectAppPmsOrderInListWithEmpty(@Param("goodsCode") String goodsCode);
/**
* 批量删除请填写功能名称

View File

@ -61,7 +61,7 @@ public interface IAppPmsOrderInService
*/
public int deleteAppPmsOrderInById(String listId);
public List<AppPmsOrderIn> getInfoWithString(String param);
public List<AppPmsOrderIn> getInfoWithString(String goodsCode);
public int pmsStockInComplete(PmsStockInCompleteReq request);

View File

@ -122,11 +122,11 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService
}
@Override
public List<AppPmsOrderIn> getInfoWithString(String param) {
if(StringUtils.isEmpty(param)) {
return appPmsOrderInMapper.selectAppPmsOrderInListWithParam("");
public List<AppPmsOrderIn> getInfoWithString(String goodsCode) {
if(StringUtils.isEmpty(goodsCode)) {
return appPmsOrderInMapper.selectAppPmsOrderInListWithEmpty("");
}
return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(param);
return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(goodsCode);
}
@Override
@ -161,7 +161,11 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService
// 变更订单剩余数量
AppPmsOrderIn update = new AppPmsOrderIn();
update.setListId(pmsInDatum.getListId());
update.setRemainingNum(appPmsOrderInInsert.getRemainingNum().subtract(pmsInDatum.getGoodsNum()));
BigDecimal subtract = appPmsOrderInInsert.getRemainingNum().subtract(pmsInDatum.getGoodsNum());
if(subtract.compareTo(BigDecimal.ZERO) < 0){
throw new ServiceException("订单剩余数量不足,请重新输入");
}
update.setRemainingNum(subtract);
appPmsOrderInMapper.updateAppPmsOrderIn(update);
insertNum ++;
}

View File

@ -77,10 +77,17 @@
<include refid="selectAppPmsOrderInVo"/>
where id = #{id}
</select>
<select id="selectAppPmsOrderInListWithEmpty" parameterType="String" resultMap="AppPmsOrderInResult">
<include refid="selectAppPmsOrderInVo"/>
where (list_id like concat('%',#{goodsCode},'%') or order_id like concat('%',#{goodsCode},'%') or goods_id like concat('%',#{goodsCode},'%')
or goods_code like concat('%',#{goodsCode},'%') or goods_desc like concat('%',#{goodsCode},'%')) and remaining_num > 0
</select>
<select id="selectAppPmsOrderInListWithParam" parameterType="String" resultMap="AppPmsOrderInResult">
<include refid="selectAppPmsOrderInVo"/>
where (list_id like concat('%',#{param},'%') or order_id like concat('%',#{param},'%') or goods_id like concat('%',#{param},'%')
or goods_code like concat('%',#{param},'%') or goods_desc like concat('%',#{param},'%')) and remaining_num > 0
where goods_code = #{goodsCode} and remaining_num > 0
</select>

View File

@ -186,7 +186,7 @@
update app_stock set location_id = #{newLocation} where location_id = #{oldLocation}
</update>
<update id="updateLocationWithVehicleId">
update app_stock set location_id = #{location} and stock_status = 0 where vehicle_id = #{vehicleId}
update app_stock set location_id = #{location}, stock_status = 0 where vehicle_id = #{vehicleId}
</update>
<delete id="deleteAppStockByStockId" parameterType="String">