自动化立体仓库 - WMS系统
a6921566c8fa36d99d75a2e266ba3500962db6e9..f1a3407130d88ad15320ab9fcfabd109e5127c78
12 小时以前 pang.jiabao
获取堆垛机状态及所属巷道库位统计信息
f1a340 对比 | 目录
15 小时以前 pang.jiabao
获取未完成订单统计信息
ddc6cd 对比 | 目录
2个文件已添加
7个文件已修改
194 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderStatisticsDto.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasCrnpMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasCrnpMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -185,6 +185,23 @@
        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("/getCrnLaneWayInfo")
    @AppAuth(memo = "获取堆垛机状态及所属巷道库位统计信息")
    public synchronized R getCrnLaneWayInfo(@RequestHeader(required = false) String appkey,
                                               HttpServletRequest request) {
        auth(appkey, null, request);
        return openService.getCrnLaneWayInfo();
    }
    /*@PostMapping("/order/matSync/default/v1")
    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
src/main/java/com/zy/asrs/entity/CrnLaneWayInfoDto.java
New file
@@ -0,0 +1,53 @@
package com.zy.asrs.entity;
import lombok.Data;
/**
 * @author pang.jiabao
 * @description 堆垛机状态及所属巷道统计信息
 * @createDate 2025/4/27 13:37
 */
@Data
public class CrnLaneWayInfoDto {
    /**
     * 堆垛机号
     */
    private Integer crnNo;
    /**
     * 堆垛机状态 -1.离线, 0.维修, 1.手动,2.半自动,3.自动,100.其他
     */
    private Integer crnSts;
    /**
     * 堆垛机是否异常 0.未异常,1.异常
     */
    private Integer crnErr;
    /**
     * 巷道库位总数
     */
    private Integer count;
    /**
     * 在库数
     */
    private Integer stockQty;
    /**
     * 空托盘数
     */
    private Integer emptyPalletQty;
    /**
     * 空库位数
     */
    private Integer emptySlotQty;
    /**
     * 其他状态库位数
     */
    private Integer otherQty;
}
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/BasCrnpMapper.java
@@ -2,11 +2,18 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.CrnLaneWayInfoDto;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface BasCrnpMapper extends BaseMapper<BasCrnp> {
    /**
     * 获取堆垛机状态及所属巷道库位统计信息
     */
    List<CrnLaneWayInfoDto> getCrnLaneWayInfo();
}
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,17 @@
    R requestXhd(String barcode);
    /**
     * 获取未完成订单统计信息
     */
    R getUnfulfilledOrders();
    /**
     * 获取堆垛机状态及所属巷道库位统计信息
     */
    R getCrnLaneWayInfo();
    /**
     * 添加入库单
     */
    void pakinOrderCreate(OpenOrderPakinParam param);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,9 +15,7 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.entity.result.ZphjcdgzVo;
import com.zy.asrs.entity.result.ZphjcdwcVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.mapper.MatMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.constant.MesConstant;
@@ -107,6 +105,12 @@
    @Resource
    private ConfigMapper configMapper;
    @Resource
    private OrderMapper orderMapper;
    @Resource
    private BasCrnpMapper basCrnpMapper;
    @Override
    @Transactional
@@ -1962,6 +1966,19 @@
    }
    @Override
    public R getUnfulfilledOrders() {
        // 获取未完成订单统计信息
        List<OrderStatisticsDto> unfulfilledOrders = orderMapper.getUnfulfilledOrders();
        return R.ok(unfulfilledOrders);
    }
    @Override
    public R getCrnLaneWayInfo() {
        List<CrnLaneWayInfoDto> crnLaneWayInfo = basCrnpMapper.getCrnLaneWayInfo();
        return R.ok(crnLaneWayInfo);
    }
    /**
     * 创建桁架理货出库的工作档
     */
src/main/resources/mapper/BasCrnpMapper.xml
@@ -27,5 +27,26 @@
        <result column="tank_qty1" property="tankQty1" />
        <result column="origin" property="origin" />
    </resultMap>
    <select id="getCrnLaneWayInfo" resultType="com.zy.asrs.entity.CrnLaneWayInfoDto">
        select
            crn.crn_no crnNo ,
            crn.crn_sts crnSts,
            case when crn.crn_err != 0 then 1 else 0 end as crnErr,
            count(loc.loc_no) count,
            count(case when loc.loc_sts = 'F' then 1 end) stockQty,
            count(case when loc.loc_sts = 'D' then 1 end) emptyPalletQty,
            count(case when loc.loc_sts = 'O' then 1 end) emptySlotQty,
            count(case when loc.loc_sts != 'O' and loc.loc_sts != 'D' and loc.loc_sts != 'F' then 1 end) otherQty
        from
            asr_bas_crnp crn
        left join asr_loc_mast loc on
            crn.crn_no = loc.crn_no
        group by
            crn.crn_no,
            crn.crn_sts,
            crn.crn_err
        order by
            crn.crn_no
    </select>
</mapper>
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>