ContainerNumberService.java 2.69 KB
package com.huaheng.api.pda.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.pda.domain.ContainerNumberDomain;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;

@Component
@Transactional
public class ContainerNumberService {

    @Resource
    private InventoryDetailService inventoryDetailService;

    @Resource
    private TaskHeaderService taskHeaderService;

    @Transactional
    public AjaxResult updateContainerNumber(List<ContainerNumberDomain> numberDomains) {
        if (numberDomains == null || numberDomains.size() <= 0) {
            return AjaxResult.error("传输数据不能为空");
        }
        String containerCode = numberDomains.get(0).getContainerCode();
        if (StringUtils.isEmpty(containerCode)) {
            return AjaxResult.error("容器号不能为空");
        }
        LambdaQueryWrapper<InventoryDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
        lambdaQueryWrapper.eq(InventoryDetail::getZoneCode, "B");
        lambdaQueryWrapper.eq(InventoryDetail::getContainerCode, containerCode);
        lambdaQueryWrapper.orderByDesc(InventoryDetail::getId);
        List<InventoryDetail> list = inventoryDetailService.list(lambdaQueryWrapper);
        forlable1:
        for (int a = 0; a < numberDomains.size(); a++) {
            String rollNumber = numberDomains.get(a).getRollNumber();
            Integer containerNumber = numberDomains.get(a).getContainerNumber();
            if (StringUtils.isEmpty(rollNumber)) {
                return AjaxResult.error("卷号不能为空");
            }
            if (StringUtils.isNull(containerNumber)) {
                return AjaxResult.error("位置号不能为空");
            }
            if (containerNumber > 12) {
                return AjaxResult.error("位置号不能大于12");
            }
            forlable2:
            for (InventoryDetail detail : list) {
                if (rollNumber.equals(detail.getRollNumber())) {
                    detail.setContainerDetailNumber(containerNumber);
                    inventoryDetailService.updateById(detail);
                    continue forlable1;
                }
            }
        }
        return AjaxResult.success();
    }

}