huminmin
19 小时以前 c9cd6e47dbdf173060496f3d8ce0f228f6a17cda
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -459,10 +459,28 @@
        formConfig.put("summaryPlaceholder", "报工审批");
        formConfig.put("approvalType", "production_report");
        ProductionOperationTask task = productionOperationTaskMapper.selectById(productionProductMain.getProductionOperationTaskId());
        ProductionProductOutput output = productionProductOutputMapper.selectOne(
                Wrappers.<ProductionProductOutput>lambdaQuery()
                        .eq(ProductionProductOutput::getProductionProductMainId, productionProductMain.getId())
                        .last("limit 1"));
        BigDecimal schedulingNum = task == null ? BigDecimal.ZERO : defaultDecimal(task.getPlanQuantity());
        BigDecimal finishedNum = output == null ? BigDecimal.ZERO : defaultDecimal(output.getQuantity());
        BigDecimal scrapQty = output == null ? BigDecimal.ZERO : defaultDecimal(output.getScrapQty());
        BigDecimal pendingNum = schedulingNum.subtract(finishedNum);
        if (pendingNum.compareTo(BigDecimal.ZERO) < 0) {
            pendingNum = BigDecimal.ZERO;
        }
        List<Map<String, Object>> fields = new ArrayList<>();
        fields.add(buildReportField("productNo", "报工单号", "text", productionProductMain.getProductNo()));
        fields.add(buildReportField("userName", "报工人员", "text", productionProductMain.getUserName()));
        fields.add(buildReportField("teamInfo", "班组信息", "text", productionProductMain.getUserName()));
        fields.add(buildReportField("workOrderNo", "工单编号", "text", resolveWorkOrderNo(productionProductMain.getProductionOperationTaskId())));
        fields.add(buildReportField("schedulingNum", "排产数量", "number", schedulingNum));
        fields.add(buildReportField("pendingNum", "待生产数量", "number", pendingNum));
        fields.add(buildReportField("finishedNum", "生产合格数量", "number", finishedNum));
        fields.add(buildReportField("scrapQty", "报废数量", "number", scrapQty));
        fields.add(buildReportField("reportType", "报工结果", "select", resolveReportTypeLabel(productionProductMain.getReportType())));
        fields.add(buildReportField("workHour", "工时", "number", productionProductMain.getWorkHour()));
        fields.add(buildReportField("auditStatus", "审核状态", "select", resolveAuditStatusLabel(productionProductMain.getAuditStatus())));
@@ -472,7 +490,12 @@
        Map<String, Object> formPayload = new LinkedHashMap<>();
        formPayload.put("productNo", productionProductMain.getProductNo());
        formPayload.put("userName", productionProductMain.getUserName());
        formPayload.put("teamInfo", productionProductMain.getUserName());
        formPayload.put("workOrderNo", resolveWorkOrderNo(productionProductMain.getProductionOperationTaskId()));
        formPayload.put("schedulingNum", schedulingNum);
        formPayload.put("pendingNum", pendingNum);
        formPayload.put("finishedNum", finishedNum);
        formPayload.put("scrapQty", scrapQty);
        formPayload.put("reportType", resolveReportTypeLabel(productionProductMain.getReportType()));
        formPayload.put("workHour", productionProductMain.getWorkHour());
        formPayload.put("auditStatus", resolveAuditStatusLabel(productionProductMain.getAuditStatus()));
@@ -811,13 +834,14 @@
                && productionProductMain.getAuditStatus() != null
                && productionProductMain.getAuditStatus() == 1
                && productionProductMain.getReportType() != null
                && productionProductMain.getReportType() == 0;
                && (productionProductMain.getReportType() == 0 || productionProductMain.getReportType() == 1);
    }
    private boolean isExcludedFromWage(ProductionProductMain productionProductMain) {
        return productionProductMain != null
                && productionProductMain.getReportType() != null
                && productionProductMain.getReportType() != 0;
                && productionProductMain.getReportType() != 0
                && productionProductMain.getReportType() != 1;
    }
    @Override