WarehouseU8Controller.java 4.04 KB
package com.huaheng.pc.config.warehouse.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.huaheng.common.redis.service.IRedisService;
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.ApiLogger;
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.pc.config.material.domain.Material;
import com.huaheng.pc.config.warehouse.domain.WarehouseU8;
import com.huaheng.pc.config.warehouse.service.WarehouseU8Service;
import com.huaheng.pc.config.warehouse.domain.WorkOrderComponent;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

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

@Controller
@RequestMapping("/config/warehouseWu")
public class WarehouseU8Controller extends BaseController {

    @Resource
    private WarehouseU8Service warehouseWuService;
    @Resource
    private IRedisService iRedisService;

    @ApiOperation("获取U8工单子件")
    @Log(title = "获取U8工单子件", action = BusinessType.OTHER)
    @GetMapping("/queryWorkOrders")
    @ResponseBody
    @ApiLogger(apiName = "获取U8工单子件", from = "U8")
    public AjaxResult queryWorkOrders(WorkOrderComponent data,String type){
        AjaxResult ajax;
        try {
            ajax = warehouseWuService.GetCurrentStock(data, type);
        }catch (Exception e){
            if (iRedisService.isKeyExists("CS_work_order_list")){
                iRedisService.remove("CS_work_order_list");
            }
            return AjaxResult.error(e.getMessage());
        }
        return ajax;
    }

    @GetMapping("/getCompanyCodeList")
    @ResponseBody
    public AjaxResult getCompanyCodeList(String companyCode){
        try {
            List<WarehouseU8> list = warehouseWuService.list(new LambdaQueryWrapper<WarehouseU8>()
                    .eq(WarehouseU8::getCompanyCode, companyCode));
            return AjaxResult.success(list);
        } catch (Exception e) {
            return AjaxResult.error(e.getMessage());
        }
    }

    @PostMapping("/getData")
    @ResponseBody // 这个是物料编码list要增加表单提交获取的
    public Map<String, Object> getData (String uWarehouseName, String uWarehouseCode) { // 新增表单是没有物料名和物料编码
        LambdaQueryWrapper<WarehouseU8> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.like(StringUtils.isNotEmpty(uWarehouseName), WarehouseU8::getUWarehouseCode, uWarehouseName) //  WHERE material =
                .or() // sql语句拼接or
                .like(StringUtils.isNotEmpty(uWarehouseName), WarehouseU8::getUWarehouseName, uWarehouseName);
        queryWrapper.eq(WarehouseU8::getWarehouseCode, ShiroUtils.getWarehouseCode());
        List<WarehouseU8> materialList = warehouseWuService.list(queryWrapper);

        List<Map<String, Object>> list = new ArrayList<>();
        for (WarehouseU8 material : materialList) {
            Map<String, Object> resultMap = new HashMap<>();
            if(StringUtils.isNotEmpty(uWarehouseCode) && material.getUWarehouseCode().equals(uWarehouseCode)) {
                resultMap.put("selected", true);
            }
            resultMap.put("id", material.getUWarehouseCode());
            resultMap.put("text", material.getUWarehouseName());
            list.add(resultMap);
        }
        Map<String, Object> map = new HashMap<>();
        map.put("results", list);
        return map; // 不返回页面只返回数据
    }


}