zhangherong
2025-04-25 06b549813b755203748ee3c2530868a94e35ccf6
art: 设备管理-点检/周保-批量审批接口
已添加2个文件
已修改6个文件
261 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionBatchApprovalRequest.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamWeekMaintenanceBatchApprovalRequest.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderDetailService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderDetailService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderDetailServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderDetailServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
@@ -1,5 +1,6 @@
package org.jeecg.modules.eam.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,16 +10,23 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.beanutils.BeanUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.InspectionStatus;
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.entity.EamInspectionOrder;
import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import org.jeecg.modules.eam.request.EamInspectionBatchApprovalRequest;
import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService;
import org.jeecg.modules.eam.service.IEamInspectionOrderService;
import org.jeecg.modules.flowable.domain.vo.WorkTaskDataVo;
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -26,7 +34,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
/**
 * @Description: ç‚¹æ£€å·¥å•
@@ -47,6 +57,8 @@
    private ObjectMapper objectMapper;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    @Autowired
    private IEamInspectionOrderDetailService eamInspectionOrderDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
@@ -172,6 +184,67 @@
        return Result.OK("操作成功");
    }
    @ApiOperation(value = "点检工单-批量审批流程", notes = "点检工单-批量审批流程")
    @PostMapping("/batchApproval")
    public Result<?> batchApproval(@RequestBody EamInspectionBatchApprovalRequest request) {
        if(request == null || CollectionUtil.isEmpty(request.getTastList())) {
            return Result.error("没有需要审批的数据!");
        }
        int n = 0;
        StringBuilder errorMsg = new StringBuilder();
        List<WorkTaskDataVo> tastList = request.getTastList();
        for(WorkTaskDataVo workTaskDataVo : tastList) {
            EamInspectionOrderRequest orderRequest = new EamInspectionOrderRequest();
            EamInspectionOrder order = eamInspectionOrderService.getById(workTaskDataVo.getDataId());
            if(order == null) {
                errorMsg.append("工单ID:");
                errorMsg.append(workTaskDataVo.getDataId());
                errorMsg.append(",不存在或已被删除!\r\n");
                continue;
            }
            if(!InspectionStatus.WAIT_CONFIRM.name().equals(order.getInspectionStatus())) {
                errorMsg.append("工单号:");
                errorMsg.append(order.getOrderNum());
                errorMsg.append(",状态无法批量审批!\r\n");
                continue;
            }
            List<EamInspectionOrderDetail> tableDetailList = eamInspectionOrderDetailService.queryListByOrderId(order.getId());
            try {
                BeanUtils.copyProperties(orderRequest, order);
                //审批信息
                orderRequest.setConfirmComment(request.getConfirmComment());
                orderRequest.setConfirmDealType(request.getConfirmDealType());
                //任务信息
                orderRequest.setDataId(workTaskDataVo.getDataId());
                orderRequest.setTaskId(workTaskDataVo.getId());
                orderRequest.setUserId(workTaskDataVo.getAssignee());
                orderRequest.setInstanceId(workTaskDataVo.getProcInstId());
                orderRequest.setValues(workTaskDataVo.getVariables());
                orderRequest.setTableDetailList(tableDetailList);
                EamInspectionOrder result = eamInspectionOrderService.inspectionProcess(orderRequest);
                if(result == null) {
                    errorMsg.append("工单号:");
                    errorMsg.append(order.getOrderNum());
                    errorMsg.append(",审批失败!\r\n");
                    continue;
                }
                n++;
            } catch (Exception e) {
                errorMsg.append("工单号:");
                errorMsg.append(order.getOrderNum());
                errorMsg.append(",审批失败,错误原因:");
                errorMsg.append(e.getMessage() + "\r\n");
            }
        }
        if(n > 0) {
            String message = "成功审批通过" + n + "条记录!\r\n" + errorMsg;
            return Result.OK(message);
        }
        return Result.error(errorMsg.toString());
    }
    /**
     * é€šè¿‡id删除
     *
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
@@ -11,6 +11,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
@@ -19,9 +20,13 @@
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
import org.jeecg.modules.eam.request.EamWeekMaintenanceBatchApprovalRequest;
import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest;
import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderDetailService;
import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService;
import org.jeecg.modules.flowable.domain.vo.WorkTaskDataVo;
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -50,6 +55,8 @@
    private ObjectMapper objectMapper;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    @Autowired
    private IEamWeekMaintenanceOrderDetailService weekMaintenanceOrderDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
@@ -291,4 +298,75 @@
        }
        return Result.ok("操作成功!");
    }
    @ApiOperation(value = "周保工单-批量审批流程", notes = "周保工单-批量审批流程")
    @PostMapping("/batchApproval")
    public Result<?> batchApproval(@RequestBody EamWeekMaintenanceBatchApprovalRequest request) {
        if (request == null || CollectionUtil.isEmpty(request.getTastList())) {
            return Result.error("没有需要审批的数据!");
        }
        int n = 0;
        StringBuilder errorMsg = new StringBuilder();
        List<WorkTaskDataVo> tastList = request.getTastList();
        for (WorkTaskDataVo workTaskDataVo : tastList) {
            EamWeekMaintenanceRequest orderRequest = new EamWeekMaintenanceRequest();
            EamWeekMaintenanceOrder order = eamWeekMaintenanceOrderService.getById(workTaskDataVo.getDataId());
            if (order == null) {
                errorMsg.append("工单ID:");
                errorMsg.append(workTaskDataVo.getDataId());
                errorMsg.append(",不存在或已被删除!\r\n");
                continue;
            }
            if (!(WeekMaintenanceStatusEnum.WAIT_CONFIRM.name().equals(order.getMaintenanceStatus())
                    || WeekMaintenanceStatusEnum.WAIT_INITIAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())
                    || WeekMaintenanceStatusEnum.WAIT_FINAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus()))) {
                errorMsg.append("工单号:");
                errorMsg.append(order.getOrderNum());
                errorMsg.append(",状态无法批量审批!\r\n");
                continue;
            }
            List<EamWeekMaintenanceOrderDetail> tableDetailList = weekMaintenanceOrderDetailService.queryListByOrderId(order.getId());
            try {
                BeanUtils.copyProperties(orderRequest, order);
                //审批信息
                if (WeekMaintenanceStatusEnum.WAIT_CONFIRM.name().equals(order.getMaintenanceStatus())) {
                    orderRequest.setConfirmComment(request.getConfirmComment());
                    orderRequest.setConfirmDealType(request.getConfirmDealType());
                } else if (WeekMaintenanceStatusEnum.WAIT_INITIAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())) {
                    orderRequest.setInitialAcceptanceComment(request.getInitialAcceptanceComment());
                    orderRequest.setInitialAcceptanceFilesResult(request.getInitialAcceptanceFilesResult());
                } else if (WeekMaintenanceStatusEnum.WAIT_FINAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())) {
                    orderRequest.setFinalAcceptanceComment(request.getFinalAcceptanceComment());
                    orderRequest.setFinalAcceptanceFilesResult(request.getFinalAcceptanceFilesResult());
                }
                //任务信息
                orderRequest.setDataId(workTaskDataVo.getDataId());
                orderRequest.setTaskId(workTaskDataVo.getId());
                orderRequest.setUserId(workTaskDataVo.getAssignee());
                orderRequest.setInstanceId(workTaskDataVo.getProcInstId());
                orderRequest.setValues(workTaskDataVo.getVariables());
                orderRequest.setTableDetailList(tableDetailList);
                EamWeekMaintenanceOrder result = eamWeekMaintenanceOrderService.approval(orderRequest);
                if (result == null) {
                    errorMsg.append("工单号:");
                    errorMsg.append(order.getOrderNum());
                    errorMsg.append(",审批失败!\r\n");
                    continue;
                }
                n++;
            } catch (Exception e) {
                errorMsg.append("工单号:");
                errorMsg.append(order.getOrderNum());
                errorMsg.append(",审批失败,错误原因:");
                errorMsg.append(e.getMessage() + "\r\n");
            }
        }
        if (n > 0) {
            String message = "成功审批通过" + n + "条记录!\r\n" + errorMsg;
            return Result.OK(message);
        }
        return Result.error(errorMsg.toString());
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionBatchApprovalRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.eam.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.flowable.domain.vo.WorkTaskDataVo;
import java.io.Serializable;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EamInspectionBatchApprovalRequest implements Serializable {
    /** ç¡®è®¤ç±»åž‹ 1 é€šè¿‡  2 é©³å›ž */
    @ApiModelProperty(value = "确认类型")
    private String confirmDealType;
    /**确认意见*/
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    /**任务列表*/
    @ApiModelProperty(value = "任务列表")
    private List<WorkTaskDataVo> tastList;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamWeekMaintenanceBatchApprovalRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package org.jeecg.modules.eam.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.api.vo.FileUploadResult;
import org.jeecg.modules.flowable.domain.vo.WorkTaskDataVo;
import java.io.Serializable;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EamWeekMaintenanceBatchApprovalRequest implements Serializable {
    //确认操作
    /**确认意见*/
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    @ApiModelProperty(value = "确认类型")
    private String confirmDealType;
    //初验收操作
    /**初验收意见*/
    @ApiModelProperty(value = "初验收意见")
    private String initialAcceptanceComment;
    /**初验收附件*/
    @ApiModelProperty(value = "初验收附件")
    private List<FileUploadResult> initialAcceptanceFilesResult;
    //终验收操作
    /**终验收意见*/
    @ApiModelProperty(value = "终验收意见")
    private String finalAcceptanceComment;
    /**终验收附件*/
    @ApiModelProperty(value = "终验收附件")
    private List<FileUploadResult> finalAcceptanceFilesResult;
    /**任务列表*/
    @ApiModelProperty(value = "任务列表")
    private List<WorkTaskDataVo> tastList;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderDetailService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import java.util.List;
/**
 * @Description: ç‚¹æ£€å·¥å•明细
 * @Author: jeecg-boot
@@ -10,5 +12,10 @@
 * @Version: V1.0
 */
public interface IEamInspectionOrderDetailService extends IService<EamInspectionOrderDetail> {
    /**
     * èŽ·å–å·¥å•ä¿å…»é¡¹å†…å®¹
     * @param orderId å·¥å•ID
     * @return
     */
    List<EamInspectionOrderDetail> queryListByOrderId(String orderId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderDetailService.java
@@ -1,7 +1,9 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
import java.util.List;
/**
 * @Description: å‘¨ä¿å·¥å•明细
@@ -11,4 +13,10 @@
 */
public interface IEamWeekMaintenanceOrderDetailService extends IService<EamWeekMaintenanceOrderDetail> {
    /**
     * æ ¹æ®å·¥å•ID æŸ¥è¯¢ä¿å…»æ˜Žç»†
     * @param orderId
     * @return
     */
    List<EamWeekMaintenanceOrderDetail> queryListByOrderId(String orderId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderDetailServiceImpl.java
@@ -1,10 +1,14 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import org.jeecg.modules.eam.mapper.EamInspectionOrderDetailMapper;
import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
 * @Description: ç‚¹æ£€å·¥å•明细
@@ -15,4 +19,11 @@
@Service
public class EamInspectionOrderDetailServiceImpl extends ServiceImpl<EamInspectionOrderDetailMapper, EamInspectionOrderDetail> implements IEamInspectionOrderDetailService {
    @Override
    public List<EamInspectionOrderDetail> queryListByOrderId(String orderId) {
        LambdaQueryWrapper<EamInspectionOrderDetail> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamInspectionOrderDetail::getOrderId, orderId);
        queryWrapper.orderByAsc(EamInspectionOrderDetail::getItemCode);
        return super.list(queryWrapper);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderDetailServiceImpl.java
@@ -1,11 +1,13 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
import org.jeecg.modules.eam.mapper.EamWeekMaintenanceOrderDetailMapper;
import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
/**
 * @Description: å‘¨ä¿å·¥å•明细
@@ -16,4 +18,11 @@
@Service
public class EamWeekMaintenanceOrderDetailServiceImpl extends ServiceImpl<EamWeekMaintenanceOrderDetailMapper, EamWeekMaintenanceOrderDetail> implements IEamWeekMaintenanceOrderDetailService {
    @Override
    public List<EamWeekMaintenanceOrderDetail> queryListByOrderId(String orderId) {
        LambdaQueryWrapper<EamWeekMaintenanceOrderDetail> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamWeekMaintenanceOrderDetail::getOrderId, orderId);
        queryWrapper.orderByAsc(EamWeekMaintenanceOrderDetail::getItemCode);
        return super.list(queryWrapper);
    }
}