自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-03-28 28670e94bb74ba937fe0ff73334ec68e969beef9
src/main/java/com/zy/asrs/controller/OutController.java
@@ -5,6 +5,7 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.result.StoPreTab;
@@ -37,6 +38,11 @@
    private LocMastService locMastService;
    @Autowired
    private StaDescService staDescService;
    @Autowired
    private WorkService workService;
    @Autowired
    private BasDevpService basDevpService;
//    @PostMapping("/out/pakout/preview/auth")
//    public R pakoutPreview(@RequestBody List<Long> ids) {
@@ -106,11 +112,12 @@
    @PostMapping("/out/pakout/auth")
    @ManagerAuth(memo = "订单出库")
    public R pakout(@RequestBody List<LocDto> locDtos) {
    public synchronized R pakout(@RequestBody List<LocDto> locDtos) {
        if (Cools.isEmpty(locDtos)) {
            return R.parse(BaseRes.PARAM);
        }
        List<TaskDto> taskDtos = new ArrayList<>();
        // 根据 (库位 & 出库站) 分组; 理想状态:一组为一次出库任务
        for (LocDto locDto : locDtos) {
            if (locDto.isLack()) { continue; }
            TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
@@ -124,9 +131,8 @@
        }
        // -----------------------------------------------------------------------------------------------
        for (TaskDto taskDto : taskDtos) {
            BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
            workService.stockOut(staNo, taskDto, getUserId());
        }
        return R.ok();
    }