WinController.java 5.54 KB
package com.huaheng.api.erp.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.erp.domain.MaterialDomain;
import com.huaheng.api.erp.domain.PDAInventory;
import com.huaheng.api.erp.domain.PrintDomain;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * @author lty
 */
@RestController
@RequestMapping("/API/WMS/v2")
public class WinController extends BaseController {


    @Resource
    TaskHeaderService taskHeaderService;
    @Resource
    ShipmentHeaderService shipmentHeaderService;
    @Resource
    ReceiptContainerHeaderService receiptContainerHeaderService;
    @Resource
    ReceiptContainerDetailService receiptContainerDetailService;

    @PostMapping("/printLabel")
    @ApiOperation("请求打印数据")
    @ResponseBody
    @ApiLogger(apiName = "请求打印数据", from="win")
    public AjaxResult printLabel() {
        LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
        taskHeaderLambdaQueryWrapper.eq(TaskHeader::getPrint,1);
        TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);


        LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
        shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getCode,taskHeader.getShipmentCode());
        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(shipmentHeaderLambdaQueryWrapper);


        PrintDomain printDomain = new PrintDomain();
        if (StringUtils.isNotEmpty(shipmentHeader.getReferCode())) {
            //客户名称
            printDomain.setErpCode(shipmentHeader.getReferCode());
        } else {
            printDomain.setErpCode("不存在");
        }

        if (StringUtils.isNotEmpty(shipmentHeader.getCustomerName())) {
            //规格
            printDomain.setName(shipmentHeader.getCustomerName());
        } else {
            printDomain.setName("不存在");
        }

        printDomain.setCode(shipmentHeader.getCode());

        printDomain.setContainerCode(taskHeader.getContainerCode());





        LambdaQueryWrapper<ReceiptContainerHeader> receiptContainerHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
        receiptContainerHeaderLambdaQueryWrapper.eq(ReceiptContainerHeader::getContainerCode,taskHeader.getContainerCode());
        ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getOne(receiptContainerHeaderLambdaQueryWrapper);

        LambdaQueryWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
        receiptContainerDetailLambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId,receiptContainerHeader.getId());
        List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(receiptContainerDetailLambdaQueryWrapper);



        List<ReceiptContainerDetail> receiptContainerDetailList=new ArrayList<>();
        for (ReceiptContainerDetail receiptContainerDetail:receiptContainerDetails)
        {
            int 标记=0;
            for (ReceiptContainerDetail receiptContainerdetail:receiptContainerDetailList)
            {
                if(receiptContainerdetail.getMaterialCode().equals(receiptContainerDetail.getMaterialCode()))
                {
                    receiptContainerdetail.setQty(receiptContainerdetail.getQty().add(BigDecimal.valueOf(1)));
                    标记=1;
                    break;
                }
            }
            if (标记==0)
            {
                receiptContainerDetailList.add(receiptContainerDetail);
            }
        }

        List<MaterialDomain> materialDomains=new ArrayList<>();
        for (ReceiptContainerDetail receiptContainerDetail:receiptContainerDetailList)
        {
            MaterialDomain materialDomain=new MaterialDomain();

            materialDomain.setMaterialCode(receiptContainerDetail.getMaterialCode());
            materialDomain.setMaterialName(receiptContainerDetail.getMaterialName());
            materialDomain.setLevel(receiptContainerDetail.getLevel());
            materialDomain.setColor(receiptContainerDetail.getColor());
            materialDomain.setBox(""+26);
            materialDomain.setScattered(receiptContainerDetail.getQty());
            materialDomains.add(materialDomain);

        }

        printDomain.setMaterial(materialDomains);
        return AjaxResult.success(printDomain);
    }

}