自动化立体仓库 - WMS系统
#
Junjie
6 天以前 710d56d624455f72219a326c5692f0ca79964fa5
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -13,12 +14,16 @@
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.mapper.RowLastnoMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.utils.Utils;
import com.zy.common.entity.Parameter;
import com.zy.common.model.Shelves;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@@ -26,10 +31,17 @@
@RestController
public class LocMastController extends BaseController {
    @Value("${wcs.address.URL}")
    private String addrs;
    @Value("${wcs.address.getAllLocInformation}")
    private String getAllLocInformation;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private RowLastnoMapper rowLastnoMapper;
    @RequestMapping(value = "/locMast/init/pwd")
    public R locMastInitPwd(@RequestParam(required = false) String pwd) {
@@ -37,6 +49,57 @@
            return R.error("请输入口令");
        }
        return R.ok().add(Parameter.get().getLocMastInitPwd().equals(pwd));
    }
    @RequestMapping(value = "/locMast/init/syncWcs")
    public R syncWcs(@RequestParam(required = false) String pwd) {
        List<LocMast> list = new ArrayList<>();
        for (int i = 1; i <= 1000; i++) {
            try {
                HashMap<String, Object> map = new HashMap<>();
                map.put("row", i);
                String response = new HttpHandler.Builder()
                        .setUri(addrs)
                        .setPath(getAllLocInformation)
                        .setJson(JSON.toJSONString(map))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.get("code").equals(200)){
                    JSONArray data = jsonObject.getJSONArray("data");
                    if (data.isEmpty()) {
                        break;
                    }
                    for (Object obj : data) {
                        JSONObject locJson = JSON.parseObject(JSON.toJSONString(obj));
                        Integer row = locJson.getInteger("row");
                        Integer bay = locJson.getInteger("bay");
                        Integer lev = locJson.getInteger("lev");
                        String locNo = Utils.getLocNo(row, bay, lev);
                        LocMast locMast = new LocMast();
                        locMast.setLocNo(locNo);
                        locMast.setLocSts("O");
                        locMast.setRow1(row);
                        locMast.setBay1(bay);
                        locMast.setLev1(lev);
                        locMast.setAppeTime(new Date());
                        locMast.setModiTime(new Date());
                        list.add(locMast);
                    }
                }
            }catch (Exception e){
                return R.error();
            }
        }
        locMastService.delete(new EntityWrapper<>());
        locMastService.insertBatch(list);
        return R.ok();
    }
    @PostMapping(value = "/group/empty/stock")
@@ -64,7 +127,6 @@
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        wrapper.orderBy("loc_attribute",false);
        return R.ok(locMastService.selectPage(new Page<>(curr, limit), wrapper));
    }