XWmsInfoController.java 4.48 KB
package com.huaheng.api.wmsinfo2.contoller;

import com.huaheng.api.wmsinfo.domain.WmsInfoResult;
import com.huaheng.api.wmsinfo2.domain.*;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.pc.config.location.service.CscLocationServiceImpl;
import com.huaheng.pc.config.location.service.LocationServiceImpl;
import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailServiceImpl;
import com.huaheng.pc.inventory.inventoryTransaction.service.InventoryTransactionService;
import com.huaheng.pc.task.taskDetail.service.TaskDetailServiceImpl;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;

@RestController
@RequestMapping("/api/wms/info")
public class XWmsInfoController {
    @Resource
    private LocationServiceImpl locationService;

    @Resource
    private CscLocationServiceImpl cscLocationService;

    @Resource
    private InventoryDetailServiceImpl inventoryDetailService;

    @Resource
    private InventoryTransactionService inventoryTransactionService;

    @Resource
    private TaskDetailServiceImpl taskDetailService;

    @Resource
    private TaskHeaderServiceImpl taskHeaderService;

    /**
     * 仓库数据概况
     */
    @PostMapping()
    @ResponseBody
    public WmsResult getInfo() {
        WmsResult result = new WmsResult();
        result.data.add(getDataOfThisYearByMonth());
        result.data.add(getDataOfThisMonth());
        result.data.add(getLocationUsedPercent());
        result.data.add(getLocationUsedCount());
        result.data.add(getMaterialTypePercent());
        result.data.add(getMaterialQtyAll());
        result.data.add(getReceiptNow());
        result.data.add(getReceiptUnfinish());
        return result;
    }

    /**
     * 本年月度出入库数量
     *
     * @return
     */
    public DataItem getDataOfThisYearByMonth() {
        DataItem item = new DataItem("月度出入库数量");
        DataPkg pkg = new DataPkg();
        pkg.categories.add("1月");
        pkg.categories.add("2月");
        pkg.categories.add("3月");
        pkg.categories.add("4月");
        pkg.categories.add("5月");
        pkg.categories.add("6月");
        pkg.categories.add("7月");
        pkg.categories.add("8月");
        pkg.categories.add("9月");
        pkg.categories.add("10月");
        pkg.categories.add("11月");
        pkg.categories.add("12月");

        DataSeries seriesReceipt = new DataSeries("月度出库数量");
        DataSeries seriesShipment = new DataSeries("月度入库数量");
        int year = Calendar.getInstance().get(Calendar.YEAR);
        for (int i = 1; i <= 12; i++) {
            Data dataReceipt = new Data(inventoryTransactionService.getReceiptQtyOfMonth(year, i));
            seriesReceipt.data.add(dataReceipt);
            Data dataShipment = new Data(inventoryTransactionService.getShipmentQtyOfMonth(year, i));
            seriesShipment.data.add(dataShipment);
        }
        pkg.series.add(seriesReceipt);
        pkg.series.add(seriesShipment);
        item.parseJson(pkg);
        return item;
    }

    /**
     * 当月出入库数量
     *
     * @return
     */
    public DataItem getDataOfThisMonth() {
        return null;
    }

    /**
     * 库容使用率
     *
     * @return
     */
    public DataItem getLocationUsedPercent() {
        return null;
    }

    /**
     * 物资分类占比
     *
     * @return
     */
    public DataItem getMaterialTypePercent() {
        return null;
    }

    /**
     * 库位情况,已用库位数
     *
     * @return
     */
    public DataItem getLocationUsedCount() {
        return null;
    }

    /**
     * 总货物数量
     *
     * @return
     */
    public DataItem getMaterialQtyAll() {
        return null;
    }

    /**
     * 当前应入库总数
     *
     * @return
     */
    public DataItem getReceiptNow() {
        return null;
    }

    /**
     * 入库未领数
     */
    public DataItem getReceiptUnfinish() {
        return null;
    }
}