自动化立体仓库 - WMS系统
#
whycq
2024-04-28 4478d33ff79360c804f8bcad41384d5a4e040991
#
8个文件已修改
127 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvMobileController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvLocDetl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvLocMastService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/order/order.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -193,6 +193,12 @@
        List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(wrapper);
        for (AgvLocDetl agvLocDetl : agvLocDetls) {
            AgvLocMast locNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()));
            agvLocDetl.setLocSts(locNo.getLocSts());
            agvLocDetl.setLocSts$(locNo.getLocSts$());
        }
        return R.ok(agvLocDetls);
    }
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -596,4 +596,51 @@
        return R.ok("导入成功");
    }
    /**
     * excel导入
     */
    @PostMapping(value = "/order/excel/import2/auth")
    @ManagerAuth(memo = "销售单Excel导入")
    @Transactional
    public R cstmrExcelImport2(MultipartFile file) throws IOException {
        InputStream inStream = file.getInputStream();
        String fileMime = file.getContentType();
        int excelVersion = 2007;
        if ("application/vnd.ms-excel".equals(fileMime)) {
            excelVersion = 2003;
        }
        Workbook book = null;
        try {
            if (excelVersion == 2003) {
                book = new HSSFWorkbook(inStream);
            }
            else {  // 当 excel 是 2007 时
                book = new XSSFWorkbook(inStream);
            }
        } catch (Exception e) {
            log.error("fail", e);
            return R.error("导入文件格式错误,请使用xls后缀的文件!");
        }
        Sheet sheet = book.getSheetAt(0);
        int totalRows = sheet.getLastRowNum() + 1;    // 总
        DataFormatter dataFormatter = new DataFormatter();
        List<String> strs = new ArrayList<>();
        for (int i = 1; i < totalRows; i++) {
            Row row = sheet.getRow(i);
            //单据类型
            String docName =  dataFormatter.formatCellValue(row.getCell(0));
            //单据编号
            String uuid = dataFormatter.formatCellValue(row.getCell(1));
            //物料号
            String matnr = dataFormatter.formatCellValue(row.getCell(2));
            Mat mat = matService.selectByMatnr(matnr);
            if (null == mat) {
                strs.add(matnr);
//                throw new CoolException(matnr + "商品编码的商品不存在,请检查!");
            }
        }
        return R.ok("导入成功").add(strs);
    }
}
src/main/java/com/zy/asrs/entity/AgvLocDetl.java
@@ -168,6 +168,20 @@
    @TableField(exist = false)
    private Double stock;
    /**
     * 库存数量
     */
    @ApiModelProperty(value= "可出数量")
    @TableField(exist = false)
    private String locSts;
    /**
     * 库存数量
     */
    @ApiModelProperty(value= "可出数量")
    @TableField(exist = false)
    private String locSts$;
    public String getLocNo$(){
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.locNo);
src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -26,7 +26,7 @@
    List<AgvLocMast> selectLocByLevAndFloor(int lev, int floor);
    AgvLocMast selectEmptyZpallet(int type);
    AgvLocMast selectEmptyZpallet(int type, int floor);
    AgvLocMast selectEmptyZpalletByLocType1(int type);
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -313,9 +313,9 @@
    }
    @Override
    public AgvLocMast selectEmptyZpallet(int type) {
    public AgvLocMast selectEmptyZpallet(int type, int floor) {
        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type));
        return this.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_sts","D").eq("loc_type2",type).eq("floor",floor));
    }
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -391,7 +391,7 @@
        }
        //寻找相应类型的空托盘
        AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType);
        AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType,agvBasDevp.getFloor());
        if(containerType == 0){
            //空板自动出库,根据站点类型选择
            agvLocMastService.selectEmptyZpalletByLocType1(agvBasDevp.getLocType1());
src/main/webapp/static/js/order/order.js
@@ -100,6 +100,10 @@
        $("#importExcel").trigger("click");
    });
     $("#orderCheckBtn").click(function () {
            $("#importExcel2").trigger("click");
        });
    // 工具条点击事件
    table.on('tool(order)', function (obj) {
        var data = obj.data;
@@ -629,3 +633,47 @@
    alert(res.msg);
    // layer.msg(res.msg, {icon: 2});
}
function upload2(obj){
    if(!obj.files) {
        return;
    }
    var file = obj.files[0];
    admin.confirm('确认导入 [' + file.name +'] 文件吗?', function (index) {
            layer.load(1, {shade: [0.1,'#fff']});
            var url = baseUrl + "/order/excel/import2/auth";
            var form = new FormData();
            form.append("file", file);
            let xhr = new XMLHttpRequest();
            xhr.open("post", url, true);
            xhr.setRequestHeader('token', localStorage.getItem('token'));
            xhr.onload = uploadComplete;
            xhr.onerror =  uploadFailed;
            xhr.onloadend = function () {
                layer.closeAll('loading');
            };
            // xhr.upload.onprogress = progressFunction;
            xhr.upload.onloadstart = function(){
                ot = new Date().getTime();
                oloaded = 0;
            };
            xhr.send(form);
        }, function(index){
        });
}
function uploadComplete(evt) {
    let res = JSON.parse(evt.target.responseText);
    if(res.code === 200) {
        layer.msg(res.msg, {icon: 1});
        insTb.reload({page: {curr: 1}});
    } else {
        alert(res.msg);
        // layer.msg(res.msg, {icon: 2});
    }
}
function uploadFailed(evt) {
    let res = JSON.parse(evt.target.responseText);
    alert(res.msg);
    // layer.msg(res.msg, {icon: 2});
}
src/main/webapp/views/order/order.html
@@ -86,7 +86,11 @@
                        <button id="importOrder" class="layui-btn icon-btn btn-add">
                            <i class="layui-icon layui-icon-upload"></i>&nbsp;导入单据
                        </button>
                        <button id="orderCheckBtn" class="layui-btn icon-btn btn-add">
                            <i class="layui-icon">&#xe654;</i>添加
                        </button>
                        <input style="display:none" id="importExcel" type="file" onchange="upload(this)" >
                        <input style="display:none" id="importExcel2" type="file" onchange="upload2(this)" >
                    </div>
                </div>
            </div>