春风项目四线(合箱线、总装线)
yyt
2024-05-23 04b8eff075a04db23e6f908855699b4d2954588c
jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -89,6 +89,16 @@
    }
    /**
     * 获取生产工单详细信息
     */
    @PreAuthorize("@ss.hasPermi('om:productionOrde:query')")
    @GetMapping("/ids/{ids}")
    public AjaxResult getInfo(@PathVariable Long[] ids)
    {
        return success(omProductionOrdeInfoService.selectOmProductionOrdeInfoByIds(ids));
    }
    /**
     * 新增生产工单
     */
    @PreAuthorize("@ss.hasPermi('om:productionOrde:add')")
@@ -100,11 +110,12 @@
    }
    /**
     * 新增生产工单
     * 生成按钮
     */
    @PostMapping("/orderSchedulingForBoxCode")
    public AjaxResult addOrderSchedulingForBoxCode(@RequestBody OmProductionOrdeInfo omProductionOrdeInfo)
    {
        //获取当前时间
        LocalDateTime date= LocalDateTime.now();
        //创建日期时间对象格式化器,日期格式类似: 2023-05-23 22:18:38
@@ -112,39 +123,45 @@
        //将时间转化为对应格式的字符串
        String fomateDate=date.format(formatter).toString();
        Integer startCode = Integer.parseInt(omProductionOrdeInfo.getStartCode());//开始编号
        Integer planQty = Math.toIntExact(omProductionOrdeInfo.getPlanQty());//计划数量
        String dateTimeRule = omProductionOrdeInfo.getDateTimeRule();
        String engineNo = "";
        if(planQty>0) {
            for (int i = 0; i < planQty; i++) {
                engineNo = omProductionOrdeInfo.getTypeZ() + " " + dateTimeRule + StringUtils.leftPad(String.valueOf(startCode), 3, "0");
                BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
                bsOrderScheduling.setOrderNo(omProductionOrdeInfo.getWorkOrderNo());
                bsOrderScheduling.setModel(omProductionOrdeInfo.getTypeZ());
                bsOrderScheduling.setEngineNo(engineNo);
                bsOrderScheduling.setProductionStatus("1");
                bsOrderScheduling.setOperator(getUserName());
                bsOrderScheduling.setOperateTime(fomateDate);
                bsOrderSchedulingService.insertBsOrderScheduling(bsOrderScheduling);
                startCode++;
        Long[] id=omProductionOrdeInfo.getIdNums();
        OmProductionOrdeInfo ProductionOrde;
        for (int a=0;a<id.length;a++){
            ProductionOrde=omProductionOrdeInfoService.selectOmProductionOrdeInfoById(id[a]);
            Integer planQty = Math.toIntExact(ProductionOrde.getPlanQty());//计划数量
            String engineNo = "";
            if(planQty>0) {
                for (int i = 0; i < planQty; i++) {
                    engineNo = omProductionOrdeInfo.getTypeZ() + " " + dateTimeRule + StringUtils.leftPad(String.valueOf(startCode), 3, "0");
                    BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
                    bsOrderScheduling.setOrderNo(ProductionOrde.getWorkOrderNo());
                    bsOrderScheduling.setModel(ProductionOrde.getTypeZ());
                    bsOrderScheduling.setEngineNo(engineNo);
                    bsOrderScheduling.setProductionStatus("1");
                    bsOrderScheduling.setOperator(getUserName());
                    bsOrderScheduling.setOperateTime(fomateDate);
                    bsOrderScheduling.setProductType(ProductionOrde.getTypeL());//产品类型
                    bsOrderScheduling.setWhetherOrPrint("0");
                    bsOrderSchedulingService.insertBsOrderScheduling(bsOrderScheduling);
                    startCode++;
                }
            }
            //新增机型序号
            BsModelNumber bsModelNumber = new BsModelNumber();
            bsModelNumber.setModel(omProductionOrdeInfo.getTypeZ());
            bsModelNumber.setModelDate(dateTimeRule);
            bsModelNumber.setMaxnumValue((startCode - 1) + "");
            bsModelNumber.setSaveTime(fomateDate);
            bsModelNumberService.insertBsModelNumber(bsModelNumber);
            //更新工单状态
            ProductionOrde.setOrderStatus("2");
            omProductionOrdeInfoService.updateOmProductionOrdeInfo(ProductionOrde);
        }
        //更新工单状态
        omProductionOrdeInfo.setOrderStatus("2");
        return toAjax(omProductionOrdeInfoService.updateOmProductionOrdeInfo(omProductionOrdeInfo));
        //新增机型序号
        BsModelNumber bsModelNumber = new BsModelNumber();
        bsModelNumber.setModel(omProductionOrdeInfo.getTypeZ());
        bsModelNumber.setModelDate(dateTimeRule);
        bsModelNumber.setMaxnumValue((startCode - 1) + "");
        bsModelNumber.setSaveTime(fomateDate);
        bsModelNumber.setLastNumber((startCode - 1) + "");
        bsModelNumberService.insertBsModelNumber(bsModelNumber);
        return toAjax(1);
    }
    /**
@@ -195,7 +212,7 @@
                return error("接收失败!请检查通知单号");
            }
        }else {
            return warn("该订单已接收完毕,不能重复接收!");
            return warn("该通知单已经接收完毕,不能重复接收!");
        }
        return AjaxResult.success("接收成功!");
    }