ShipmentApiController.java 4.09 KB
package com.huaheng.api.general.controller;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huaheng.api.general.domain.ReceiptDomain;
import com.huaheng.api.general.domain.ShipmentDomain;
import com.huaheng.api.general.domain.WmsReceipt;
import com.huaheng.api.general.domain.WmsReceiptDetail;
import com.huaheng.api.general.service.ShipmentApiService;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
import io.swagger.annotations.Api;
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;

@RestController
@RequestMapping("/api/shipmentApi")
@Api(tags = {"出库单接口"}, value = "出库单接口shipment")
public class ShipmentApiController {

    @Resource
    private ShipmentApiService shipmentApiService;

//    /**
//     * 同步出库单
//     */
//    @Log(title = "出库单添加", action = BusinessType.INSERT)
//    @PostMapping("/shipment")
//    @ApiOperation("出库单添加公共接口")
//    @ResponseBody
//    @ApiLogger(apiName = "添加出库单", from="ERP")
//    public AjaxResult Shipment(@RequestBody WmsReceipt wmsReceipt)
//    {
//        ShipmentDomain shipmentDomain = new ShipmentDomain();
//        ShipmentHeader shipmentHeader = new ShipmentHeader();
//        shipmentHeader.setReferCode(wmsReceipt.getBILLNO());
//        shipmentHeader.setWarehouseCode("CS0001");
//        shipmentHeader.setCompanyCode("BHF");
//        shipmentHeader.setUserDef1(wmsReceipt.getNO());
//        shipmentHeader.setCreatedBy("WMS");
//        shipmentHeader.setShipmentType("ELO");
//        shipmentDomain.setShipmentHeader(shipmentHeader);
//        List<ShipmentDetail> shipmentDetails = new ArrayList<>();
//        List<WmsReceiptDetail> wmsReceiptDetailList = wmsReceipt.getDetails();
//        for(WmsReceiptDetail wmsReceiptDetail : wmsReceiptDetailList) {
//            String materialCode = wmsReceiptDetail.getITEMCODE();
//            BigDecimal qty = wmsReceiptDetail.getQTY();
//            ShipmentDetail shipmentDetail = new ShipmentDetail();
//            shipmentDetail.setWarehouseCode("CS0001");
//            shipmentDetail.setShipQty(qty);
//            shipmentDetail.setMaterialCode(materialCode);
//            shipmentDetail.setCompanyCode("BHF");
//            shipmentDetails.add(shipmentDetail);
//        }
//        shipmentDomain.setShipmentDetails(shipmentDetails);
//        AjaxResult ajaxResult = shipmentApiService.shipment(shipmentDomain);
//        return ajaxResult;
//    }

    /**
     * 取消出库单
     */
    @Log(title = "出库-出库单 ",operating = "出库单删除", action = BusinessType.UPDATE)
    @PostMapping("/remove")
    @ResponseBody
    @ApiLogger(apiName = "取消出库单", from="ERP")
    public AjaxResult remove(@RequestBody List<String> shipmentCodeList){
        if (shipmentCodeList==null&&shipmentCodeList.size()<1){
            return AjaxResult.error("出库单号列表为空");
        }
        return shipmentApiService.remove(shipmentCodeList);
    }

    /**
     * 出库单查询
     */
    @Log(title = "出库-出库单 ",operating = "出库单删除", action = BusinessType.UPDATE)
    @GetMapping("/search")
    @ResponseBody
    @ApiLogger(apiName = "取消入库单", from="ERP")
    public AjaxResult search(@RequestParam String shipmentCode,
                             @RequestParam String companyCode,
                             @RequestParam String warehouseCode){
        return shipmentApiService.search(shipmentCode,companyCode,warehouseCode);
    }
}