#
mrzhssss
2022-03-26 54ff9a76122b2612e263d621298a3ca2d3e78f37
#
3个文件已修改
51 ■■■■■ 已修改文件
src/main/java/zy/cloud/wms/manager/controller/PickoutController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/entity/OrderDetl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/controller/PickoutController.java
@@ -206,11 +206,59 @@
                orderNos.add(s);
            }
        }
        /**
         * 循环所有拣货单明细,依次分配给所有出库单
         */
        for (PickoutDetl pickoutDetl : pickoutDetls) {
            //获取本次波次生成拣货单之后,该物料总共捡了多少
            Double anfme = pickoutDetl.getAnfme();
            String matnr = pickoutDetl.getMatnr();
            /**
             * 获取所有的物料相同,且被包含在波次明细里的出库订单
             */
            List<OrderDetl> orderDetls = orderDetlService.selectOutList(matnr,new ArrayList<String>(orderNos));
            for (OrderDetl orderDetl : orderDetls) {
                /**
                 * 如果拣货单的剩余数量等于0,代表该物料已经分配完成,直接break
                 */
                if (anfme == 0.0 ){
                    break;
                }
                /**
                 * 如果拣货单的数量大于该出库单的数量,直接把出库所需量(out_qty)拉满
                 */
                if (anfme >= (orderDetl.getAnfme() - orderDetl.getOutQty())){
                    orderDetl.setOutQty(orderDetl.getAnfme());
                    anfme = anfme - (orderDetl.getAnfme() - orderDetl.getOutQty());
                    orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
                            .eq("id",orderDetl.getId()));
                    continue;
                }
                /**
                 * 如果拣货单的数量小于出库单的数量,证明该拣货单的物料已经不够分了,将
                 */
                if (anfme < (orderDetl.getAnfme() - orderDetl.getOutQty())){
                    orderDetl.setOutQty(anfme);
                    anfme = 0.0;
                    orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>()
                            .eq("id",orderDetl.getId()));
                }
            }
        }
        for (String orderNo : orderNos) {
            Order order = orderService.selectOne(new EntityWrapper<Order>()
                    .eq("order_no", orderNo));
            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
                    .eq("order_no", orderNo));
            for (OrderDetl orderDetl : orderDetls) {
                if (orderDetl.getAnfme() == orderDetl.getOutQty()){
                    break;
                }
            }
            order.setSettle(4L);
            orderService.update(order,new EntityWrapper<Order>()
                    .eq("order_no",orderNo));
        }
        return R.ok();
src/main/java/zy/cloud/wms/manager/entity/OrderDetl.java
@@ -182,6 +182,8 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @TableField("out_qty")
    private Double outQty;
//    public OrderDetl() {}
//
//    public OrderDetl(Long hostId, Long orderId,Double anfme,String matnr,String maktx,String name,String specs,String model,String batch,String unit,String barcode,String supplier,Double unitPrice,Integer itemNum,Integer count,Double weight,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
src/main/resources/mapper/OrderDetlMapper.xml
@@ -28,6 +28,7 @@
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="out_qty" property="outQty" />
    </resultMap>