ShippingCombinationService.java 4.23 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.domain.Location;
import com.huaheng.pc.general.location.service.LocationServiceImpl;
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.shipmentHeader.domain.ShipmentHeader;
import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderServiceImpl;
import com.huaheng.pc.shipment.shippingCombination.domain.ShippingCombinationDetailModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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;

    public AjaxResult<List<ShippingCombinationDetailModel>> GetShippingCombinationDetails(String code){
        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 = shipmentContainerDetailService.selectListEntityByEqual(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());

//            Inventory inventory = inventoryService.selectEntityById(t.getInventoryId());
//            Location temp = new Location();
//            temp.setCode(inventory.getLocationCode());
//            temp.setWarehouseId(ShiroUtils.getWarehouseId());
//            Location location = locationService.selectFirstEntity(temp);

            ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.selectEntityById(t.getHeaderId());
            shippingCombinationDetailModel.setStatus(shipmentContainerHeader.getStatus());
            shippingCombinationDetailModel.setTaskType(shipmentContainerHeader.getTaskType());
            shippingCombinationDetailModel.setContainerCode(shipmentContainerHeader.getShipmentContainerCode());

            shippingCombinationDetailModels.add(shippingCombinationDetailModel);
        }
        return AjaxResult.success(shippingCombinationDetailModels);
    }

}