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

View File

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

View File

@ -54,7 +54,8 @@ public interface AppPmsOrderInMapper
public int deleteAppPmsOrderInById(String id); 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 int deleteAppPmsOrderInById(String listId);
public List<AppPmsOrderIn> getInfoWithString(String param); public List<AppPmsOrderIn> getInfoWithString(String goodsCode);
public int pmsStockInComplete(PmsStockInCompleteReq request); public int pmsStockInComplete(PmsStockInCompleteReq request);

View File

@ -122,11 +122,11 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService
} }
@Override @Override
public List<AppPmsOrderIn> getInfoWithString(String param) { public List<AppPmsOrderIn> getInfoWithString(String goodsCode) {
if(StringUtils.isEmpty(param)) { if(StringUtils.isEmpty(goodsCode)) {
return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(""); return appPmsOrderInMapper.selectAppPmsOrderInListWithEmpty("");
} }
return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(param); return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(goodsCode);
} }
@Override @Override
@ -161,7 +161,11 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService
// 变更订单剩余数量 // 变更订单剩余数量
AppPmsOrderIn update = new AppPmsOrderIn(); AppPmsOrderIn update = new AppPmsOrderIn();
update.setListId(pmsInDatum.getListId()); 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); appPmsOrderInMapper.updateAppPmsOrderIn(update);
insertNum ++; insertNum ++;
} }

View File

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

View File

@ -186,7 +186,7 @@
update app_stock set location_id = #{newLocation} where location_id = #{oldLocation} update app_stock set location_id = #{newLocation} where location_id = #{oldLocation}
</update> </update>
<update id="updateLocationWithVehicleId"> <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> </update>
<delete id="deleteAppStockByStockId" parameterType="String"> <delete id="deleteAppStockByStockId" parameterType="String">