自动化立体仓库 - WMS系统
zyx
2023-07-17 344a6d6c8c0f27f883615eb01d99ecc019aa7b25
src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -1,29 +1,33 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.AgvBasDevp;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.service.AgvBasDevpService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.Map;
import java.util.*;
@RestController
@RequestMapping("/agv")
public class AgvBasDevpController extends BaseController {
    @Autowired
    AgvBasDevpService agvBasDevpService;
    @RequestMapping(value = "/agvBasDevp/list/auth")
    @RequestMapping(value = "/basDevp/list/auth")
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
@@ -37,7 +41,7 @@
        return R.ok(agvBasDevpService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/agvBasDevp/add/auth")
    @RequestMapping(value = "/basDevp/add/auth")
    @ManagerAuth(memo = "站点添加")
    public R add(AgvBasDevp agvBasDevp) {
        agvBasDevp.setModiUser(getUserId());
@@ -46,6 +50,101 @@
        agvBasDevp.setAppeTime(new Date());
        agvBasDevp.setLocSts("O");
        agvBasDevpService.insert(agvBasDevp);
        return R.ok();
    }
    @RequestMapping(value = "/basDevp/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<AgvBasDevp> wrapper = new EntityWrapper<AgvBasDevp>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != agvBasDevpService.selectOne(wrapper)){
            return R.parse(BaseRes.REPEAT).add(getComment(BasDevp.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
    @RequestMapping(value = "/basDevp/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") Long id) {
        return R.ok(agvBasDevpService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/basDevp/update/auth")
    @ManagerAuth(memo = "站点修改")
    public R update(AgvBasDevp basDevp){
        if (Cools.isEmpty(basDevp) || null==basDevp.getDevNo()){
            return R.error();
        }
        basDevp.setModiUser(getUserId());
        basDevp.setModiTime(new Date());
        agvBasDevpService.updateById(basDevp);
        return R.ok("修改完成");
    }
    @RequestMapping(value = "/basDevp/delete/auth")
    @ManagerAuth(memo = "站点删除")
    public R delete(@RequestParam String param){
        List<AgvBasDevp> list = JSONArray.parseArray(param, AgvBasDevp.class);
        if (Cools.isEmpty(list)){
            return R.error();
        }
        for (AgvBasDevp entity : list){
            agvBasDevpService.delete(new EntityWrapper<>(entity));
        }
        return R.ok();
    }
    @RequestMapping(value = "/basDevp/unbind/auth")
    @ManagerAuth(memo = "站点解绑")
    public R unbind(@RequestParam String param){
        AgvBasDevp agvBasDevp = JSONArray.parseObject(param,AgvBasDevp.class);
        //若当前站点货位状态不为F.在库状态,则返回错误
        if(!agvBasDevp.getLocSts().equals("F")){
            return R.error("当前站点货位状态不为在库,无法解除绑定");
        }
        agvBasDevp.setLocSts("O");
        agvBasDevp.setBarcode("");
        agvBasDevpService.update(agvBasDevp,new EntityWrapper<AgvBasDevp>().eq("dev_no",agvBasDevp.getDevNo()));
        return R.ok();
    }
    @RequestMapping(value = "/basDevp/export/auth")
    @ManagerAuth(memo = "站点导出")
    public R export(@RequestBody JSONObject param){
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>();
        Map<String, Object> map = excludeTrash(param.getJSONObject("basDevp"));
        convert(map, wrapper);
        List<AgvBasDevp> list = agvBasDevpService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/basDevpQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>();
        wrapper.like("dev_no", condition);
        Page<AgvBasDevp> page = agvBasDevpService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (AgvBasDevp basDevp : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", basDevp.getDevNo());
            map.put("value", basDevp.getDevNo());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/basDevp/init/auth")
    @ManagerAuth(memo = "初始化站点")
    public R init(LocMastInitParam param) {
        //清空原有库位
        agvBasDevpService.clearBasDevp();
        //初始化1楼3楼站点
        agvBasDevpService.initBasDevp();
        return R.ok();
    }
@@ -61,4 +160,5 @@
            }
        }
    }
}