ShippingCombinationService.java 5.54 KB
package com.huaheng.pc.shipment.shippingCombination.service;

import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.general.location.service.LocationServiceImpl;
import com.huaheng.pc.general.material.domain.Material;
import com.huaheng.pc.general.material.service.IMaterialService;
import com.huaheng.pc.inventory.inventory.domain.Inventory;
import com.huaheng.pc.inventory.inventory.service.InventoryServiceImpl;
import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailServiceImpl;
import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderServiceImpl;
import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderServiceImpl;
import com.huaheng.pc.shipment.shippingCombination.domain.ShippingCombinationDetailModel;
import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
import com.huaheng.pc.shipment.shippingCombination.mapper.ShippingCombinationMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

@Service
public class ShippingCombinationService {
    @Autowired
    ShipmentHeaderServiceImpl shipmentHeaderService;
    @Autowired
    ShipmentContainerHeaderServiceImpl shipmentContainerHeaderService;
    @Autowired
    ShipmentContainerDetailServiceImpl shipmentContainerDetailService;
    @Autowired
    InventoryServiceImpl inventoryService;
    @Autowired
    LocationServiceImpl locationService;
    @Resource
    private ShippingCombinationMapper mapper;
    @Autowired
    IShipmentDetailService shipmentDetailService;
    @Autowired
    IMaterialService materialService;


    public AjaxResult<List<ShippingCombinationDetailModel>> GetShippingCombinationDetails(String code,String message){
        ShipmentHeader shipmentHeader = new ShipmentHeader();
        shipmentHeader.setCode(code);
        shipmentHeader.setWarehouseId(ShiroUtils.getWarehouseId());
        shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader);
        ShipmentContainerDetail shipmentContainerDetail = new ShipmentContainerDetail();
        shipmentContainerDetail.setShipmentHeaderId(shipmentHeader.getId());
        List<ShipmentContainerDetail> shipmentContainerDetails = new ArrayList<>();
        if(message.equals("other")) {
            shipmentContainerDetails=shipmentContainerDetailService.selectListEntity(shipmentContainerDetail);
        }else {
            shipmentContainerDetails=shipmentContainerDetailService.selectListAgvEntity(shipmentContainerDetail);
        }
        List<ShippingCombinationDetailModel> shippingCombinationDetailModels = new ArrayList<>();
        for(ShipmentContainerDetail t :shipmentContainerDetails){
            ShippingCombinationDetailModel shippingCombinationDetailModel = new ShippingCombinationDetailModel();
            shippingCombinationDetailModel.setId(t.getId());
            shippingCombinationDetailModel.setHeadId(t.getHeaderId());
            shippingCombinationDetailModel.setShipmentHeadId(t.getShipmentHeaderId());
            shippingCombinationDetailModel.setShipmentCode(shipmentHeader.getCode());
            shippingCombinationDetailModel.setShipmentDetailId(t.getShipmentDetailId());
            shippingCombinationDetailModel.setMaterialCode(t.getMaterialCode());
            shippingCombinationDetailModel.setMaterialName(t.getMaterialName());
            shippingCombinationDetailModel.setQty(t.getQty());
            shippingCombinationDetailModel.setUserName(t.getCreatedBy());
            shippingCombinationDetailModel.setCreateTime(t.getCreateTime());
            shippingCombinationDetailModel.setInventoryId(t.getInventoryId());
            ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.selectEntityById(t.getHeaderId());
            shippingCombinationDetailModel.setStatus(shipmentContainerHeader.getStatus());
            shippingCombinationDetailModel.setTaskTypeReal((int) shipmentContainerHeader.getTaskType());
            shippingCombinationDetailModel.setContainerCode(shipmentContainerHeader.getShipmentContainerCode());
            shippingCombinationDetailModel.setLocationCode(shipmentContainerHeader.getLocationCode());
            shippingCombinationDetailModel.setProject(t.getProject());
            shippingCombinationDetailModels.add(shippingCombinationDetailModel);
        }
        return AjaxResult.success(shippingCombinationDetailModels);
    }

    public List<Inventory> getInventory(ShippingSearch search) {
        List<Inventory> list = mapper.getInventory(search);
        return list;
    }

    public List<Inventory> getAgvInventory(ShippingSearch search) {
        //查找agv子单
        List<Inventory> list = new ArrayList<>();
        Inventory inventory=new Inventory();
        inventory.setWarehouseCode(search.getWarehouseCode());
        inventory.setMaterialCode(search.getMaterialCode());
        inventory.setStatus(search.getInventoryStatus());
        inventory.setZoneCode(search.getZoneCode());
        list=inventoryService.selectListEntityByEqual(inventory);
        return list;
    }



}