自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-10-18 b4d4aa34f057ea33dc81031cf569e43215f10485
#
3个文件已修改
55 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/out.js 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -39,6 +40,8 @@
    private WorkService workService;
    @Autowired
    private BasDevpService basDevpService;
    @Autowired
    private MatService matService;
    @PostMapping("/out/pakout/orderDetlIds/auth")
    @ManagerAuth
@@ -174,18 +177,16 @@
        if (Cools.isEmpty(list)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
        Set<String> exist = new HashSet<>();
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
        for (OrderDetl orderDetl : orderDetls) {
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
        for (OrderMergeVo vo : list) {
            double issued = Optional.of(vo.getAnfme()).orElse(0.0D);
            if (issued <= 0.0D) { continue; }
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
            List<LocDetl> locDetls = locDetlService.queryStock(vo.getMatnr(), vo.getBatch(), null, exist);
            for (LocDetl locDetl : locDetls) {
                if (issued > 0) {
                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), JSON.toJSONString(vo.getOrderDtos()),
                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                    locDto.setStaNos(staNos);
@@ -198,11 +199,16 @@
                }
            }
            if (issued > 0) {
                LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                LocDto locDto = new LocDto(null, vo.getMatnr(), vo.getMaktx(), vo.getBatch(), JSON.toJSONString(vo.getOrderDtos()), issued);
                locDto.setLack(Boolean.TRUE);
                locDtos.add(locDto);
            }
        }
        for (LocDto locDto : locDtos) {
            Mat mat = matService.selectByMatnr(locDto.getMatnr());
            assert mat != null;
            locDto.setSpecs(mat.getSpecs());
        }
        return R.ok().add(locDtos);
    }
src/main/java/com/zy/common/model/LocDto.java
@@ -29,6 +29,8 @@
    private Integer staNo;
    private String specs;
    public LocDto() {
    }
src/main/webapp/static/js/order/out.js
@@ -413,8 +413,8 @@
                                success: function (res) {
                                    layer.close(loadIndex);
                                    if (res.code === 200){
                                        console.log(res.data)
                                        // pakoutPreviewMergeDialog(res.data)
                                        layer.close(index)
                                        pakoutPreviewMergeDialog(res.data)
                                    } else if (res.code === 403){
                                        top.location.href = baseUrl+"/";
                                    } else {
@@ -453,7 +453,7 @@
            ,moveType: 1 //拖拽模式,0或者1
            ,content: $('#pakoutPreviewMergeBox').html()
            ,success: function(layero, index){
                stoPreTabIdx = table.render({
                stoPreTabMergeIdx = table.render({
                    elem: '#stoPreTabMerge',
                    data: data,
                    height: 520,
@@ -462,8 +462,8 @@
                    cellMinWidth: 100,
                    cols: [[
                        // {type: 'checkbox', merge: ['orderNo']},
                        {field: 'orderNo', title: '单据编号', merge: true, align: 'center'},
                        {field: 'title', title: '商品', merge: true, align: 'center', width: 350},
                        {field: 'specs', title: '规格', align: 'center'},
                        {field: 'batch', title: '序列码', align: 'center'},
                        {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'},
                        {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'},
@@ -479,10 +479,10 @@
                // 修改出库站
                form.on('select(tbBasicTbStaNos)', function (obj) {
                    let index  = obj.othis.parents('tr').attr("data-index");
                    let data = tableCache[index];
                    for (let i = 0; i<tableCache.length; i++) {
                        if (tableCache[i].locNo === data.locNo) {
                            tableCache[i]['staNo'] = Number(obj.elem.value);
                    let data = mergeTabCache[index];
                    for (let i = 0; i<mergeTabCache.length; i++) {
                        if (mergeTabCache[i].locNo === data.locNo) {
                            mergeTabCache[i]['staNo'] = Number(obj.elem.value);
                        }
                    }
                    obj.othis.children().find("input").css("color", "blue");
@@ -496,8 +496,8 @@
                function modifySta() {
                    // 出库站取交集
                    let staBatchSelectVal = [];
                    for(let i = 0; i<tableCache.length; i++) {
                        let staNos = tableCache[i].staNos;
                    for(let i = 0; i<mergeTabCache.length; i++) {
                        let staNos = mergeTabCache[i].staNos;
                        if (staNos !== null) {
                            if (staBatchSelectVal.length === 0) {
                                staBatchSelectVal = staNos;
@@ -529,17 +529,18 @@
                                let loadIdx = layer.load(2);
                                let batchSta = Number(obj.field.batchSta);
                                let arr = [];
                                for (let i = 0; i<tableCache.length; i++) {
                                    tableCache[i]['staNo'] = batchSta;
                                for (let i = 0; i<mergeTabCache.length; i++) {
                                    mergeTabCache[i]['staNo'] = batchSta;
                                    arr.push(i);
                                }
                                stoPreTabIdx.reload({data: tableCache});
                                console.log(mergeTabCache)
                                stoPreTabMergeIdx.reload({data: mergeTabCache});
                                arr.forEach(item => {
                                    $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
                                    $('div[lay-id=stoPreTabMerge] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
                                });
                                layui.form.render('select');
                                arr.forEach(item => {
                                    $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
                                    $('div[lay-id=stoPreTabMerge] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
                                });
                                layer.close(loadIdx); layer.close(ddIndex);
                                return false;