#
luxiaotao1123
2021-04-22 e2544894b3b10187a838e16af6dff02166658511
#
6个文件已修改
57 ■■■■ 已修改文件
src/main/java/zy/cloud/wms/manager/controller/WorkController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -136,7 +136,7 @@
    }
    @RequestMapping("/order/init")
    @ManagerAuth(memo = "生成销售订单")
    @ManagerAuth(memo = "生成订单")
    public R initOrder(@RequestBody InitOrderParam param) {
        return workService.initOrder(param, getUserId());
    }
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -39,4 +39,6 @@
    List<LocDetl> getStockStatisExcel();
    Double getStockByDocType34(String matnr);
}
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -88,4 +88,10 @@
     */
    List<LocDetl> getStockStatisExcel();
    /**
     * 获取当前物料的采购单数量
     * @return
     */
    Double getStockByDocType34(String matnr);
}
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -143,5 +143,10 @@
        return this.baseMapper.getStockStatisExcel();
    }
    @Override
    public Double getStockByDocType34(String matnr) {
        return this.baseMapper.getStockByDocType34(matnr);
    }
}
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -75,6 +75,18 @@
        if (Cools.isEmpty(param.getMats())) {
            return R.error("入库物料不能为空");
        }
        Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
        String docNum = String.valueOf(snowflakeIdWorker.nextId());
        switch (docId) {
            case 34:    // 采购单
                docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            case 45:    // 销售退货单
                docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            default:
                break;
        }
        Date now = new Date();
        for (MatnrDto dto : param.getMats()) {
            Mat mat = matService.selectByMatnr(dto.getMatnr());
@@ -90,8 +102,8 @@
                locDetl.setZpallet("");
                locDetl.setAnfme(dto.getCount());
                VersionUtils.setLocDetl(locDetl, mat);
//                locDetl.setDocId(param.getDocType().longValue());
//                locDetl.setDocNum(docNum);
                locDetl.setDocId(docId.longValue());
                locDetl.setDocNum(docNum);
                locDetl.setStatus(1);
                locDetl.setCreateBy(userId);
                locDetl.setCreateTime(now);
@@ -115,18 +127,6 @@
            billDto.setMatnr(dto.getMatnr());
            billDto.setQty(dto.getCount());
            dtos.add(billDto);
        }
        Integer docId = Optional.ofNullable(param.getDocType()).orElse(34);
        String docNum = String.valueOf(snowflakeIdWorker.nextId());
        switch (docId) {
            case 34:    // 采购单
                docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            case 45:    // 销售退货单
                docNum = "SR-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
                break;
            default:
                break;
        }
        if (!erpService.uploadBill(dtos, docId, docNum)) {
            throw new CoolException("无法上报至erp");
@@ -462,6 +462,15 @@
        Date now = new Date();
        Item item = itemService.selectByName(param.getItem());
        Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
        // 采购退货单检验
        if (param.getDocType() == 6) {
            for (MatnrDto dto : param.getList()) {
                if (locDetlService.getStockByDocType34(dto.getMatnr()) < dto.getCount()) {
                    return R.error(dto.getMatnr() + "采购量不足以生成退货单!");
                }
            }
        }
        // 新增订单表头
        order = new Order(
                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
src/main/resources/mapper/LocDetlMapper.xml
@@ -205,4 +205,9 @@
        group by a.matnr
    </select>
    <select id="getStockByDocType34" resultType="java.lang.Double">
        select ISNULL(count(anfme),0) as anfme from man_loc_detl where matnr = #{matnr}
        -- and doc_id = 34
    </select>
</mapper>