zjj
2024-05-30 f53706e7e8a7b4e0278917e9d3cdfbc877de177d
#平库下架完成
7个文件已修改
115 ■■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/CombParam.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/CombParam.java
@@ -49,6 +49,8 @@
        // 规格
        private String specs;
        private String zpallet;
    }
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java
@@ -25,4 +25,5 @@
    List<OrderNameListDto> selectAllorderNo(Long hostId);
    List<String> selectAllOutOrderNo(Long hostId);
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
@@ -314,14 +315,71 @@
            return R.error("该库位状态为:"+locMast.getLocSts()+",禁止出库");
        }
        //查询库存数据
        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getZpallet, combParam.getBarcode()).eq(LocDetl::getLocNo, combParam.getLocno()).eq(LocDetl::getHostId, hostId));
        if (Cools.isEmpty(locDetls)){
        for (CombParam.CombMat combMat :combParam.getCombMats()){
            LocDetl locDetl = locDetlService.getOne(new LambdaQueryWrapper<LocDetl>()
                    .eq(LocDetl::getLocNo, combParam.getLocno())
                    .eq(LocDetl::getHostId, hostId)
                    .eq(LocDetl::getZpallet, combMat.getZpallet())
                    .eq(LocDetl::getMatnr, combMat.getMatnr())
                    .eq(LocDetl::getBatch, combMat.getBatch())
            );
            if (Cools.isEmpty(locDetl)){
            return R.error("未查询到库存数据");
        }
        for (LocDetl locDetl: locDetls){
            if (combMat.getAnfme() > locDetl.getAnfme()){
                return R.error("下架数量错误,超出库存数量");
            }
            try {
                //处理库存信息
                if (combMat.getAnfme().equals(locDetl.getAnfme())){
                    //库存相等删除数据
                    locDetlService.removeById(locDetl);
                    int count = locDetlService.count(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo,combParam.getLocno()).eq(LocDetl::getHostId, hostId));
                    if (count == 0){
                        LocMast locMast1 = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId, hostId));
                        locMast1.setLocSts("O");
                        locMastService.updateById(locMast1);
                    }
                }else {
                    BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme()));
                    locDetl.setAnfme(subtract.doubleValue());
                    locDetlService.updateById(locDetl);
                }
            }catch (Exception e){
                throw new CoolException("更新库存数据出错"+e.getMessage());
            }
            if (!Cools.isEmpty(combParam.getOrderNo())){
                Order order = orderService.selectByNo(combParam.getOrderNo(), hostId);
                if (Cools.isEmpty(order)){
                    continue;
                }
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(),hostId);
                if (Cools.isEmpty(orderDetl)){
                    continue;
                }
                if (orderDetl.getWorkQty() < orderDetl.getWorkQty()+combMat.getAnfme()){
                    throw new CoolException("下架数量出错");
                }
                // 修改订单明细作业数量
                if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
                    throw new CoolException("修改单据明细工作数量失败");
                }
                // 修改订单明细完成数量
                if (!orderDetlService.increase(order.getId(), hostId, combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
                    throw new CoolException("修改单据明细完成数量失败");
                }
                // 修改订单状态 作业中 ===>> 已完成
                orderService.checkComplete(combParam.getOrderNo(), hostId);
            }
        }
        return R.ok();
    }
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java
@@ -179,4 +179,23 @@
        return orderNameListDtos;
    }
    @Override
    public List<String> selectAllOutOrderNo(Long hostId) {
        List<Order> list = list(new LambdaQueryWrapper<Order>().eq(Order::getHostId, hostId));
        if (Cools.isEmpty(list)){
            return null;
        }
        ArrayList<String> orderNameListDtos = new ArrayList<>();
        for (Order order :list){
            DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType()));
            if (docType.getPakout() == 1){
                orderNameListDtos.add(order.getOrderNo());
            }
        }
        return orderNameListDtos;
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -38,6 +38,23 @@
        return R.ok(detls);
    }
    @RequestMapping(value = "/locDetl/forlocNo/auth")
    @ManagerAuth
    public R forlocNo(@RequestParam String orderNo,@RequestParam String locNo,@RequestParam String batch,@RequestParam String matnr) {
        LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
                .eq(LocDetl::getLocNo, locNo)
                .eq(LocDetl::getHostId, getHostId())
                .eq(LocDetl::getMatnr, matnr);
        if (!Cools.isEmpty(batch)){
            locDetlLambdaQueryWrapper.eq(LocDetl::getBatch,batch);
        }
        List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
        if (Cools.isEmpty(detls)){
            return R.error("未查询到库存数据");
        }
        return R.ok(detls);
    }
    @RequestMapping(value = "/locDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -67,6 +67,12 @@
        return R.ok(orderService.selectAllorderNo(getHostId()));
    }
    @RequestMapping(value = "/outOrder/list/all")
    @ManagerAuth
    public R orderOutList() {
        return R.ok(orderService.selectAllOutOrderNo(getHostId()));
    }
    @RequestMapping(value = "/order/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
@@ -24,6 +24,12 @@
    @Autowired
    private OrderDetlService orderDetlService;
    @RequestMapping(value = "/orderDetl/forOrderNo/auth")
    @ManagerAuth
    public R forOrderNo(@RequestParam String orderNo) {
        return R.ok(orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderNo,orderNo).eq(OrderDetl::getHostId,getHostId())));
    }
    @RequestMapping(value = "/orderDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {