野心家
2024-12-17 ec34bee74e62cd7aee25c8a207e183572d37454e
1.订单出库,优先出一筐的货
2.订单打印,制令号从Mat表中拿
6个文件已修改
72 ■■■■■ 已修改文件
zy-asrs-wms/src/main/java/com/zy/asrs/wms/WmsBoot.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OutController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/views/adjDetl/adjDetl.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/views/apiLog/apiLog.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/WmsBoot.java
@@ -10,7 +10,6 @@
@EnableScheduling
@SpringBootApplication
public class WmsBoot {
    public static void main(String[] args) {
        RandomValidateCodeUtil.init();
        SpringApplication.run(WmsBoot.class, args);
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -56,6 +56,8 @@
    private DocTypeService docTypeService;
    @Autowired
    private LocInPrintMatService locInPrintMatService;
    @Autowired
    private MatService matService;
    @RequestMapping(value = "/order/list/orderNo")
    public R orderListorderNo(@RequestParam String orderNo) {
@@ -208,6 +210,7 @@
    public R dy(@RequestParam Long orderId){
        List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, orderId));
        for (OrderDetl orderDetl : list) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, orderDetl.getMatnr()));
            LocInPrintMat locInPrintMat = new LocInPrintMat();
            locInPrintMat.setMatnr(orderDetl.getMatnr());
            locInPrintMat.setMaktx(orderDetl.getMaktx());
@@ -217,7 +220,9 @@
            locInPrintMat.setCreateBy(getUserId());
            locInPrintMat.setCreateTime(new Date());
            locInPrintMat.setUpdateTime(new Date());
//            locInPrintMat.setDercees(orderDetl.getDercees);
            if(!Cools.isEmpty(mat)){
                locInPrintMat.setDecrees(mat.getDecrees());
            }
            locInPrintMatService.save(locInPrintMat);
        }
        return R.ok();
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OutController.java
@@ -53,11 +53,66 @@
        Set<String> exist = new HashSet<>();
        //标记库位
        HashMap<String,Integer> hm = new HashMap<>();
        for (OrderDetl orderDetl : orderDetls) {
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued <= 0.0D) {
                continue;
            }
            if(!Cools.isEmpty(hm)){
                for(HashMap.Entry<String,Integer> entry:hm.entrySet()){
                    List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
                            .eq(LocDetl::getHostId, hostId)
                            .eq(LocDetl::getLocNo, entry.getKey())
                            .eq(LocDetl::getMatnr, orderDetl.getMatnr()));
                    for (LocDetl locDetl : locDetls) {
                        List<LocDetl> locMats = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
                                .eq(LocDetl::getLocNo, locDetl.getLocNo())
                                .eq(LocDetl::getHostId, hostId));
                        if (issued > 0) {
                            LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                                    issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                            List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ((issued >= locDetl.getAnfme()) && (locMats.size() == 1)) ? 101 : 103, hostId);
                            locDto.setStaNos(staNos);
                            locDtos.add(locDto);
                            exist.add(locDetl.getLocNo());
                            // 剩余待出数量递减
                            issued = issued - locDetl.getAnfme();
                            hm.put(locDetl.getLocNo(), 1);
                        } else {
                            break;
                        }
                    }
                }
                if (issued >0){
                    List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId);
                    for (LocDetl locDetl : locDetls) {
                        for (HashMap.Entry<String,Integer> entry:hm.entrySet()){
                            if(locDetl.getLocNo().equals(entry.getKey())){
                                continue;
                            }
                        }
                        List<LocDetl> locMats = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
                                .eq(LocDetl::getLocNo, locDetl.getLocNo())
                                .eq(LocDetl::getHostId, hostId));
                        if (issued > 0) {
                            LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                                    issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                            List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ((issued >= locDetl.getAnfme()) && (locMats.size() == 1)) ? 101 : 103, hostId);
                            locDto.setStaNos(staNos);
                            locDtos.add(locDto);
                            exist.add(locDetl.getLocNo());
                            // 剩余待出数量递减
                            issued = issued - locDetl.getAnfme();
                            hm.put(locDetl.getLocNo(), 1);
                        } else {
                            break;
                        }
                    }
                }
            }else{
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId);
            for (LocDetl locDetl : locDetls) {
                List<LocDetl> locMats = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
@@ -72,10 +127,13 @@
                    exist.add(locDetl.getLocNo());
                    // 剩余待出数量递减
                    issued = issued - locDetl.getAnfme();
                        hm.put(locDetl.getLocNo(), 1);
                } else {
                    break;
                }
            }
            }
            if (issued > 0) {
                List<LocDetl> locDetls1 = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
                        .eq(LocDetl::getMatnr, orderDetl.getMatnr()).eq(LocDetl::getHostId, hostId));
zy-asrs-wms/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8081
  port: 8085
  servlet:
    context-path: /@pom.build.finalName@
zy-asrs-wms/src/main/webapp/views/adjDetl/adjDetl.html
@@ -62,7 +62,7 @@
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/adjDetl/adjDetl.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/apiLog/apiLog.js" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
zy-asrs-wms/src/main/webapp/views/apiLog/apiLog.html
@@ -62,7 +62,7 @@
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/apiLog/apiLog.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/adjDetl/adjDetl.js" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>