#
Junjie
2024-06-03 e3a51d700785c45f63b610cbf75e8f74070e9c2b
#
6个文件已修改
102 ■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/OrderDetl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OutController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/static/js/order/order.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/views/order/order.html 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/OrderDetl.java
@@ -482,9 +482,12 @@
    }
    public Double getEnableQty() {
        if (null != this.anfme && this.qty != null) {
            return this.anfme - this.qty;
        if (null != this.anfme && this.workQty != null) {
            return this.anfme - this.workQty;
        }
//        if (null != this.anfme && this.qty != null) {
//            return this.anfme - this.qty;
//        }
        return null;
    }
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -211,10 +211,12 @@
        double totalQty = 0;
        double wrkQty = 0;
        double lackQty = 0;
        double endQty = 0;
        for (OrderDetl orderDetl : orderDetls) {
            totalQty = totalQty + orderDetl.getAnfme();
            wrkQty = wrkQty + orderDetl.getQty();
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
            wrkQty = wrkQty + orderDetl.getWorkQty();
            endQty = endQty + orderDetl.getQty();
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued > 0.0) {
                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId);
                for (LocDetl locDetl : locDetls) {
@@ -236,6 +238,9 @@
            WrkMast wrkMast = wrkMastService.getOne(new LambdaQueryWrapper<WrkMast>().eq(WrkMast::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMast::getIoTime, wrkDetl.getIoTime()));
            if (wrkMast == null) {
                WrkMastLog wrkMastLog = wrkMastLogService.getOne(new LambdaQueryWrapper<WrkMastLog>().eq(WrkMastLog::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMastLog::getIoTime, wrkDetl.getIoTime()));
                if (wrkMastLog.getIoType()==103){
                    wrkMastLog = wrkMastLogService.getOne(new LambdaQueryWrapper<WrkMastLog>().eq(WrkMastLog::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMastLog::getIoTime, wrkDetl.getIoTime()).eq(WrkMastLog::getIoType,53));
                }
                if (wrkMastLog != null) {
                    wrkMast = new WrkMast();
                    BeanUtils.copyProperties(wrkMastLog, wrkMast);
@@ -264,6 +269,7 @@
                .add("totalQty", totalQty)
                .add("wrkQty", wrkQty)
                .add("lackQty", lackQty)
                .add("endQty",endQty)
        );
    }
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OutController.java
@@ -54,7 +54,7 @@
        Set<String> exist = new HashSet<>();
        for (OrderDetl orderDetl : orderDetls) {
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued <= 0.0D) { continue; }
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId);
            for (LocDetl locDetl : locDetls) {
zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
@@ -106,21 +106,21 @@
                            }
                        }
                        // 更新入库通知档 ioStatus ===>> Y
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
                        }
                        try {
//                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
//                                    .eq("zpallet", wrkDetl.getZpallet())
//                                    .eq("matnr", wrkDetl.getMatnr())
//                                    .eq("anfme", wrkDetl.getAnfme());
//                            if (Cools.isEmpty(wrkDetl.getBatch())) {
//                                wrapper.eq("batch", wrkDetl.getBatch());
//                            } else {
//                                wrapper.isNull("batch").or().eq("batch", "");
//                            }
//                            WaitPakin setParam = new WaitPakin();
//                            setParam.setIoStatus("Y");
//                            setParam.setModiTime(now);
//                            waitPakinService.update(setParam, wrapper);
                            if(!Cools.isEmpty(orderDetl)){
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
//                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                    }
@@ -151,6 +151,24 @@
                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                            }
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
                        }
                        try {
                            if(!Cools.isEmpty(orderDetl)){
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
//                                    exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
@@ -315,7 +333,22 @@
                        exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo());
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // todo:luxiaotao 3)修改出库通知档 status ==> Y
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
                        if (orderDetl==null){
                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
                        }
                        try {
                            if(!Cools.isEmpty(orderDetl)){
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
//                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                    }
                    // 删除工作档源库位的库存明细
                    if (!locDetlService.remove(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, wrkMast.getSourceLocNo()).eq(LocDetl::getHostId, hostId))) {
zy-asrs-wms/src/main/webapp/static/js/order/order.js
@@ -565,7 +565,7 @@
                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
                                var traceOptions = {
                                    title: {
                                        text: '作业/总量', x: 'center', y: '38%',
                                        text: '总量/作业/完成', x: 'center', y: '38%',
                                        textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'},
                                        subtextStyle: {fontSize: 36, color: '#10B4E8'},
                                        itemGap: 20
@@ -578,7 +578,7 @@
                                // 赋值
                                traceCharts.setOption({
                                    title: {
                                        subtext: res.data.wrkQty+"/"+res.data.totalQty
                                        subtext: res.data.totalQty+"/"+res.data.wrkQty+"/"+res.data.endQty
                                    },
                                    series: [
                                        {
zy-asrs-wms/src/main/webapp/views/order/order.html
@@ -257,18 +257,18 @@
                        </div>
                        <table class="layui-table" lay-skin="nob" style="width: 80%">
                            <thead>
                            <tr style="background: none">
                                <td>No.</td>
                                <td>商品编号</td>
                                <td>数量</td>
                            </tr>
                            </thead>
                            <tbody>
                            {{#  layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
                            <tr>
                            <tr style="background: none">
                                <td>No.</td>
                                <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
                            </tr>
                            <tr style="background: none">
                                <td>物料号:</td>
                                <td>{{ wrkDetl.matnr }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>数量:</td>
                                <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
                            </tr>
                            {{#  }); }}