zhangherong
2025-04-08 644f2477e11b663dad53f05e4c52315916265911
art: 设备管理-周保-字段添加,保养状态修改
已修改5个文件
157 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceStatusEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrder.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceStatusEnum.java
@@ -3,8 +3,9 @@
public enum MaintenanceStatusEnum {
    WAIT_MAINTENANCE, //待保养
    UNDER_MAINTENANCE, //保养中
    WAIT_SPARES, //等备件
    WAIT_CONFIRM, //待确认
    WAIT_INITIAL_ACCEPTANCE, // 待初验
    WAIT_FINAL_ACCEPTANCE, //待终验
    COMPLETE,  //已完成
    ABOLISH, //已作废
    ;
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
@@ -8,12 +8,9 @@
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
import org.jeecg.modules.eam.constant.MaintenanceStatusEnum;
import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest;
@@ -131,8 +128,8 @@
     * @param id
     * @return
     */
    @AutoLog(value = "保养标准-作废")
    @ApiOperation(value = "保养标准-作废", notes = "保养标准-作废")
    @AutoLog(value = "周保工单-作废")
    @ApiOperation(value = "周保工单-作废", notes = "周保工单-作废")
    @DeleteMapping(value = "/abolish")
    public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
        EamWeekMaintenanceOrder entity = eamWeekMaintenanceOrderService.getById(id);
@@ -145,6 +142,23 @@
        entity.setMaintenanceStatus(MaintenanceStatusEnum.ABOLISH.name());
        eamWeekMaintenanceOrderService.updateById(entity);
        return Result.OK("作废成功!");
    }
    /**
     * 通过id领取
     *
     * @param id
     * @return
     */
    @AutoLog(value = "周保工单-领取")
    @ApiOperation(value = "周保工单-领取", notes = "周保工单-领取")
    @GetMapping(value = "/collect")
    public Result<?> collect(@RequestParam(name = "id", required = true) String id) {
        boolean b = eamWeekMaintenanceOrderService.collect(id);
        if(!b) {
            Result.OK("领取失败!");
        }
        return Result.OK("领取成功!");
    }
    /**
@@ -167,8 +181,8 @@
     * @param ids
     * @return
     */
    @AutoLog(value = "保养标准-批量作废")
    @ApiOperation(value = "保养标准-批量作废", notes = "保养标准-批量作废")
    @AutoLog(value = "周保工单-批量作废")
    @ApiOperation(value = "周保工单-批量作废", notes = "周保工单-批量作废")
    @DeleteMapping(value = "/abolishBatch")
    public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrder.java
@@ -81,7 +81,7 @@
    private String operator;
    /**保养状态*/
    @ApiModelProperty(value = "保养状态")
    @Dict(dicCode = "maintenance_status")
    @Dict(dicCode = "week_maintenance_status")
    private String maintenanceStatus;
    /**创建方式*/
    @ApiModelProperty(value = "创建方式")
@@ -102,6 +102,37 @@
    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remark;
    /**确认意见*/
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    /**初验收人*/
    @ApiModelProperty(value = "初验收人")
    private String initialAcceptanceUser;
    /**初验收时间*/
    @ApiModelProperty(value = "初验收时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date initialAcceptanceTime;
    /**初验收意见*/
    @ApiModelProperty(value = "初验收意见")
    private String initialAcceptanceComment;
    /**初验收附件*/
    @ApiModelProperty(value = "初验收附件")
    private String initialAcceptanceFiles;
    /**终验收人*/
    @ApiModelProperty(value = "终验收人")
    private String finalAcceptanceUser;
    /**终验收时间*/
    @ApiModelProperty(value = "终验收时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finalAcceptanceTime;
    /**终验收意见*/
    @ApiModelProperty(value = "终验收意见")
    private String finalAcceptanceComment;
    /**终验收附件*/
    @ApiModelProperty(value = "终验收附件")
    private String finalAcceptanceFiles;
    //列表展示
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java
@@ -36,4 +36,11 @@
     * @return
     */
    boolean editWeekMaintenance(EamWeekMaintenanceRequest request);
    /**
     * 领取周保工单
     * @param id
     * @return
     */
    boolean collect(String id);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
@@ -1,12 +1,14 @@
package org.jeecg.modules.eam.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.exception.JeecgBootException;
@@ -21,14 +23,16 @@
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.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
import org.jeecg.modules.flowable.service.IFlowDefinitionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -37,14 +41,19 @@
 * @Date:   2025-04-02
 * @Version: V1.0
 */
@Service
public class EamWeekMaintenanceOrderServiceImpl extends ServiceImpl<EamWeekMaintenanceOrderMapper, EamWeekMaintenanceOrder> implements IEamWeekMaintenanceOrderService {
@Service("IEamWeekMaintenanceOrderService")
public class EamWeekMaintenanceOrderServiceImpl extends ServiceImpl<EamWeekMaintenanceOrderMapper, EamWeekMaintenanceOrder> implements IEamWeekMaintenanceOrderService, FlowCallBackServiceI {
    @Resource
    private EamWeekMaintenanceOrderMapper eamWeekMaintenanceOrderMapper;
    @Autowired
    private IEamWeekMaintenanceOrderDetailService eamWeekMaintenanceOrderDetailService;
    @Resource
    private FlowCommonService flowCommonService;
    @Resource
    private IFlowDefinitionService flowDefinitionService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -70,6 +79,8 @@
            });
            eamWeekMaintenanceOrderDetailService.saveBatch(request.getTableDetailList());
        }
        //判断是否存在保养人 如果存在则启动流程
        //TODO
        return true;
    }
@@ -162,6 +173,71 @@
            List<String> ids = request.getRemoveDetailList().stream().map(EamWeekMaintenanceOrderDetail::getId).collect(Collectors.toList());
            eamWeekMaintenanceOrderDetailService.removeBatchByIds(ids);
        }
        //判断是否存在保养人 如果存在则启动流程
        //TODO
        return true;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean collect(String id) {
        EamWeekMaintenanceOrder entity = eamWeekMaintenanceOrderMapper.selectById(id);
        if(entity == null) {
            throw new JeecgBootException("要领取的工单不存在,请刷新重试!");
        }
        if(!MaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
            throw new JeecgBootException("该工单已进行过领取!");
        }
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        entity.setOperator(sysUser.getUsername());
        entity.setMaintenanceStatus(MaintenanceStatusEnum.UNDER_MAINTENANCE.name());
        eamWeekMaintenanceOrderMapper.updateById(entity);
        //启动流程
        flowCommonService.initActBusiness("工单号:" + entity.getOrderNum() + ";开始进行设备周保",
                entity.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null);
        Map<String, Object> variables = new HashMap<>();
        variables.put("dataId", entity.getId());
        if (StrUtil.isEmpty(entity.getRemark())) {
            variables.put("organization", "新增周保工单默认启动流程");
            variables.put("comment", "新增周保工单默认启动流程");
        } else {
            variables.put("organization", entity.getRemark());
            variables.put("comment", entity.getRemark());
        }
        variables.put("proofreading", true);
        List<String> usernames = new ArrayList<>();
        usernames.add(entity.getOperator());
        variables.put("NextAssignee", usernames);
        Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables);
        if(result != null){
            return result.isSuccess();
        }
        return true;
    }
    @Override
    public void afterFlowHandle(FlowMyBusiness business) {
        business.getTaskNameId();//接下来审批的节点
        business.getValues();//前端传进来的参数
        business.getActStatus();
    }
    @Override
    public Object getBusinessDataById(String dataId) {
        return this.getById(dataId);
    }
    @Override
    public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) {
        return null;
    }
    @Override
    public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) {
        //业务是否干预流程,业务干预,流程干预,指定人员进行处理
        //获取下一步处理人
        Object object=values.get("NextAssignee");
        return (List<String>) object;
    }
}