gongchunyi
2026-04-29 25748d86291c225dd5a52315f116330f1583b182
feat: 报工状态新增报工完成
已修改3个文件
17 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionReportStateDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -96,7 +96,7 @@
    }
    /**
     * 查询报工状态: 1-开始报工 2-结束报工
     * 查询报工状态: 1-开始报工 2-结束报工 3-报工完成
     */
    @ApiOperation("查询报工状态(当前登录人)")
    @GetMapping("reportState")
src/main/java/com/ruoyi/production/dto/ProductionReportStateDto.java
@@ -10,7 +10,7 @@
@ApiModel("ProductionReportStateDto")
public class ProductionReportStateDto {
    @ApiModelProperty("状态: 1-开始报工 2-结束报工")
    @ApiModelProperty("状态: 1-开始报工 2-结束报工 3-报工完成")
    private Integer state;
    @ApiModelProperty("进行中的报工ID")
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -243,8 +243,19 @@
    @Override
    public ProductionReportStateDto reportState(Long workOrderId, Long productProcessRouteItemId) {
        ProductionProductMain running = getRunning(workOrderId, productProcessRouteItemId);
        ProductionReportStateDto dto = new ProductionReportStateDto();
        ProductWorkOrder workOrder = productWorkOrderMapper.selectById(workOrderId);
        if (workOrder != null) {
            BigDecimal planQty = workOrder.getPlanQuantity() == null ? BigDecimal.ZERO : workOrder.getPlanQuantity();
            BigDecimal completeQty = workOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : workOrder.getCompleteQuantity();
            //  生产报工数量已完成
            if (planQty.compareTo(BigDecimal.ZERO) > 0 && completeQty.compareTo(planQty) >= 0) {
                dto.setState(3);
                return dto;
            }
        }
        ProductionProductMain running = getRunning(workOrderId, productProcessRouteItemId);
        if (running == null) {
            dto.setState(1);
            return dto;