自动化立体仓库 - WMS系统
pang.jiabao
昨天 ddc6cd417d5e912d5cba297bb7849a1dcf7367be
获取未完成订单统计信息
1个文件已添加
5个文件已修改
88 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -185,6 +185,15 @@
        return openService.kxlhCdwc(param);
    }
    @PostMapping("/getUnfulfilledOrders")
    @AppAuth(memo = "获取未完成订单统计信息")
    public synchronized R getUnfulfilledOrders(@RequestHeader(required = false) String appkey,
                                   HttpServletRequest request) {
        auth(appkey, null, request);
        return openService.getUnfulfilledOrders();
    }
    /*@PostMapping("/order/matSync/default/v1")
    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java
New file
@@ -0,0 +1,39 @@
package com.zy.asrs.entity;
import lombok.Data;
/**
 * @author pang.jiabao
 * @description 未完成订单统计信息
 * @createDate 2025/4/27 10:39
 */
@Data
public class OrderStatisticsDto {
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 订单明细总数
     */
    private Integer sum;
    /**
     * 未处理订单明细数
     */
    private Integer toShipQuantity;
    /**
     * 工作中订单明细数
     */
    private Integer workQuantity;
    /**
     * 已完成订单明细数
     */
    private Integer completedQuantity;
}
src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderStatisticsDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -41,4 +42,9 @@
     * 根据单据编号模糊查询单据编号
     */
    List<String> selectOrderNosByOrderNoLike(@Param("orderNo") String orderNo);
    /**
     * 获取未完成订单统计信息
     */
    List<OrderStatisticsDto> getUnfulfilledOrders();
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -86,6 +86,12 @@
    R requestXhd(String barcode);
    /**
     * 获取未完成订单统计信息
     */
    R getUnfulfilledOrders();
    /**
     * 添加入库单
     */
    void pakinOrderCreate(OpenOrderPakinParam param);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -17,6 +17,7 @@
import com.zy.asrs.entity.result.ZphjcdwcVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.mapper.MatMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
@@ -107,6 +108,9 @@
    @Resource
    private ConfigMapper configMapper;
    @Resource
    private OrderMapper orderMapper;
    @Override
    @Transactional
@@ -1962,6 +1966,13 @@
    }
    @Override
    public R getUnfulfilledOrders() {
        // 获取未完成订单统计信息
        List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders();
        return R.ok(unfulfilledOrders);
    }
    /**
     * 创建桁架理货出库的工作档
     */
src/main/resources/mapper/OrderMapper.xml
@@ -113,5 +113,22 @@
    <select id="selectOrderNosByOrderNoLike" resultType="java.lang.String">
        select order_no from man_order where settle = 4 and order_no like '%' + #{orderNo} + '%' and doc_type in(21,23)
    </select>
    <select id="getUnfulfilledOrders" resultType="com.zy.asrs.entity.OrderStatisticsDto">
        select
            mo.order_no orderNo,
            count(mo.order_no) sum,
            count(case when md.work_qty = 0 then 1 end) toShipQuantity,
            count(case when md.work_qty != 0 and md.qty = 0 then 1 end) workQuantity,
        count(case when md.anfme = md.qty then 1 end) completedQuantity
        from
            man_order mo
            LEFT JOIN man_order_detl md on
            mo.id = md.order_id
        where
            mo.doc_type = 21
          and mo.settle in(1, 2)
        GROUP BY
            mo.order_no
    </select>
</mapper>