自动化立体仓库 - WMS系统
1
3 天以前 1e874438b4baf12c2668d04a59b0bd5098ef7fd6
#pda
2个文件已添加
7个文件已修改
121 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkDetlService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,6 +4,8 @@
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OpenService;
@@ -525,6 +527,23 @@
    }
    /**
     * PDA检索盘点数量
     */
    @PostMapping("/pick/v1/getPickList")
    @AppAuth(memo = "PDA检索盘点数量")
    public synchronized R getPickList(@RequestHeader(required = false) String appkey,
                                        @RequestBody PdaPickListParam param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        List<PickWrkDetlListParam> list = openService.getPickList(param);
        if (!list.isEmpty()) {
            return R.ok(list);
        }
        return R.error("库位不存在或无明细");
    }
    /**
     * PDA绑定解绑
     */
    @PostMapping("/agv/bindCtnrAndBin/v1")
src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.entity.param;
import lombok.Data;
@Data
public class PdaPickListParam {
    String barcode;
}
src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java
New file
@@ -0,0 +1,39 @@
package com.zy.asrs.entity.param;
import lombok.Data;
@Data
public class PickWrkDetlListParam {
    // 物料编号
    private String matnr;
    // 物料名称
    private String maknx;
    //单据编号
    private String orderNo;
    //采购单号
    private String boxType3;
    //客户PO
    private String standby1;
    //条码UPC
    private String standby2;
    //客户sku
    private String standby3;
    // 客户信息
    private String manu;
    // 备注
    private String memo;
    // 物料数量
    private Double count;
    private Double total;
}
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -21,6 +21,7 @@
    List<WrkDetl> selectAndLogByOrderNo(String orderNo);
    int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
    List<WrkDetl> findByBarcode(String barcode);
    List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr);
src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
@@ -58,5 +59,5 @@
    boolean agvApplicationPassedTheGrating(AgvGoTheArnParam param);
    boolean agvBindAndBin(String taskNo);
    boolean taskArmOrderResult(OrderArmEndParam param);
    List<PickWrkDetlListParam> getPickList(PdaPickListParam param);
}
src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -16,6 +16,7 @@
    boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch);
    List<WrkDetl> selectAndLogByOrderNo(String orderNo);
    List<WrkDetl> findByBarcode(String barcode);
    boolean updateInspect(Integer wrkNo, String matnr, String batch);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -75,7 +75,8 @@
    private CommonService commonService;
    @Autowired
    private LocMastServiceImpl locMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Override
    @Transactional
    public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -904,6 +905,44 @@
            throw new CoolException("未能绑定");
        }
    }
    @Override
    @Transactional
    public List<PickWrkDetlListParam> getPickList(PdaPickListParam param) {
        List<WrkDetl> wrkDetls = wrkDetlService.findByBarcode(param.getBarcode());
        List<PickWrkDetlListParam> result = new ArrayList<>();
        wrkDetls.forEach(wrkDetl -> {
            Double total;
            EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
            LocDetl locDetl = locDetlService.selectOne(
                    wrapper.eq("zpallet", wrkDetl.getZpallet())
                            .eq("matnr", wrkDetl.getMatnr())
            );
            // 可拣总量:优先取库存表,否则取作业数量
            if (Cools.isEmpty(locDetl)) {
                total = wrkDetl.getAnfme();
            } else {
                total = locDetl.getAnfme();
            }
            // ===== 组装返回对象 =====
            PickWrkDetlListParam dto = new PickWrkDetlListParam();
            dto.setMatnr(wrkDetl.getMatnr());
            dto.setMaknx(wrkDetl.getMaktx());
            dto.setOrderNo(wrkDetl.getOrderNo());
            dto.setBoxType3(wrkDetl.getBoxType3());
            dto.setStandby1(wrkDetl.getStandby1());
            dto.setStandby2(wrkDetl.getStandby2());
            dto.setStandby3(wrkDetl.getStandby3());
            dto.setManu(wrkDetl.getManu());
            dto.setMemo(wrkDetl.getMemo());
            // 当前拣货数量
            dto.setCount(wrkDetl.getAnfme());
            // 可拣总数量
            dto.setTotal(total);
            result.add(dto);
        });
        return result;
    }
    @Override
    @Transactional
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -76,6 +76,11 @@
    }
    @Override
    public List<WrkDetl> findByBarcode(String barcode) {
        return this.baseMapper.findByBarcode(barcode);
    }
    @Override
    public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
        return this.baseMapper.selectPakoutQuery(staNo, matnr);
    }
src/main/resources/mapper/WrkDetlMapper.xml
@@ -76,7 +76,9 @@
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </delete>
    <select id="findByBarcode" resultMap="BaseResultMap">
        select * from asr_wrk_detl where 1=1 and zpallet = #{barcode} and wrk_no != 9996
    </select>
    <update id="updateAnfme">
        update asr_wrk_detl
        set anfme = #{anfme}