SRMHeaderHistoryController.java 4.35 KB
package com.huaheng.pc.srm.controller;


import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import javax.annotation.Resource;

import com.huaheng.pc.srm.domain.SrmDetailHistory;
import com.huaheng.pc.srm.domain.SrmHeaderHistory;
import com.huaheng.pc.srm.service.SrmDetailHistoryService;
import com.huaheng.pc.srm.service.SrmHeaderHistoryService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.DateUtils;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.Wrappers;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.page.PageDomain;
import com.huaheng.framework.web.page.TableDataInfo;
import com.huaheng.framework.web.page.TableSupport;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
import com.huaheng.pc.config.warehouse.domain.WarehouseU8;
import com.huaheng.pc.config.warehouse.service.WarehouseU8Service;
import com.huaheng.pc.srm.domain.SrmDetail;
import com.huaheng.pc.srm.domain.SrmHeader;
import com.huaheng.pc.srm.service.SrmDetailService;
import com.huaheng.pc.srm.service.SrmHeaderService;


@Controller
@RequestMapping("/srm/srmHeaderHistory")
public class SRMHeaderHistoryController extends BaseController {
    private String prefix = "srm/srmHeader";

    @RequiresPermissions("srm:srmHeader:view")
    @GetMapping()
    public String srmHeader() {
        return prefix + "/srmHeaderHistory";
    }

    @RequiresPermissions("srm:srmDetail:view")
    @GetMapping("/{headerId}")
    public String srmDetail(@PathVariable("headerId") String headerId, ModelMap mmap)
    {
        mmap.put("headerId", headerId);
        return prefix + "/srmDetailHistory";
    }


    @Resource
    private SrmHeaderHistoryService srmHeaderHistoryService;
    @Resource
    private SrmDetailHistoryService srmDetailHistoryService;
    @Resource
    private WarehouseU8Service warehouseU8Service;
    @Resource
    private MaterialService materialService;

    /**
     * 查询已到送货单单主列表
     */
    @RequiresPermissions("srm:srmHeader:list")
    @Log(title = "送货单-送货单", operating="查看送货单主单", action = BusinessType.GRANT)
    @PostMapping("/headerHistorylist")
    @ResponseBody
    public TableDataInfo list(SrmHeaderHistory srmHeader, String createdBegin, String createdEnd)
    {
        if(StringUtils.isAllEmpty(srmHeader.getCode(),srmHeader.getUserDef2(),srmHeader.getSupplierCode())){
            startPage();
        }
        List<SrmHeaderHistory> list = srmHeaderHistoryService.selectListAndTime(srmHeader,createdBegin,createdEnd) ;

        return getDataTable(list);
    }

    /**
     * 查询已到送货单明细
     */
    //@RequiresPermissions("srm:srmDetail:list")
    @Log(title = "送货单-送货单", operating="查看送货单明细", action = BusinessType.GRANT)
    @PostMapping("/detailHistoryList")
    @ResponseBody
    public TableDataInfo list(SrmDetailHistory srmDetail)
    {
//        srmDetail.setEnable(1);
        startPage();
        List<SrmDetailHistory> list = srmDetailHistoryService.selectList(srmDetail) ;
        for (SrmDetailHistory detail : list) {
            WarehouseU8 warehouseWu = new WarehouseU8();
            warehouseWu.setWarehouseCode(srmDetail.getWarehouseCode());
            warehouseWu.setUCompanyCode(detail.getCompanyCode());
            warehouseWu.setUWarehouseCode(detail.getUWarehouseCode());
            List<WarehouseU8> warehouseWulist = warehouseU8Service.getByDomain(warehouseWu);
            if(warehouseWulist != null&&warehouseWulist.size()>0){
                warehouseWu=warehouseWulist.get(0);
                detail.setUWarehouseName(warehouseWu.getUWarehouseName());
            }
        }
        return getDataTable(list);
    }
}