zhangherong
15 小时以前 57df7097f99ffe16a4b81876f23aebf38b637ec5
art: 技术状态变更申请-验收接口
已修改6个文件
147 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeDetailController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChangeDetail.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusChangeService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -261,7 +261,7 @@
                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
                Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                Set<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCode);
            } else {
                return Collections.emptyList();
@@ -273,7 +273,7 @@
            queryWrapper.or().like("e.equipment_name", keyword);
        }
        if(StringUtils.isNotBlank(factoryOrgCode)){
            queryWrapper.eq("e.factory_org_code", factoryOrgCode);
            queryWrapper.likeRight("e.factory_org_code", factoryOrgCode);
        }
        queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0);
        IPage<EamEquipment> pageResult = eamEquipmentMapper.queryPageList(page, queryWrapper);
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeController.java
@@ -12,6 +12,7 @@
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.eam.constant.TechnicalStatusChangeOrderStatusEnum;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChange;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChangeDetail;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest;
import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeService;
@@ -152,4 +153,22 @@
        return Result.OK(eamTechnicalStatusChange);
    }
     /**
      * 验收
      * @param request
      * @return
      */
     @ApiOperation(value = "技术状态变更申请明细-验收", notes = "技术状态变更申请明细-验收")
     @PostMapping(value = "/acceptance")
     public Result<?> acceptance(@RequestBody EamTechnicalStatusChangeDetail request) {
         if (request == null) {
             return Result.error("验收结果对象不能为空!");
         }
         boolean b = eamTechnicalStatusChangeService.acceptance(request);
         if (!b) {
             return Result.error("操作失败!");
         }
         return Result.OK("操作成功!");
     }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusChangeDetailController.java
@@ -1,10 +1,14 @@
package org.jeecg.modules.eam.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChangeDetail;
import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeDetailService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +17,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
@@ -28,6 +33,10 @@
public class EamTechnicalStatusChangeDetailController extends JeecgController<EamTechnicalStatusChangeDetail, IEamTechnicalStatusChangeDetailService> {
    @Autowired
    private IEamTechnicalStatusChangeDetailService orderDetailService;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    /**
     * 一次加载
@@ -39,6 +48,19 @@
    @GetMapping(value = "/queryList")
    public Result<?> queryList(@RequestParam("orderId") String orderId) {
        List<EamTechnicalStatusChangeDetail> list = orderDetailService.queryList(orderId);
        return Result.OK(list);
        List<JSONObject> items = new ArrayList<>();
        try {
            for(EamTechnicalStatusChangeDetail vo : list) {
                String json = objectMapper.writeValueAsString(vo);
                JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
                translateDictTextUtils.translateField("changeCategory", vo.getChangeCategory(), item, "technical_status_change_reason");
                translateDictTextUtils.translateField("changeTechnicalStatus", vo.getChangeTechnicalStatus(), item, "equipment_technology_status");
                translateDictTextUtils.translateField("acceptanceCheckResult", vo.getAcceptanceCheckResult(), item, "equipment_technology_status");
                items.add(item);
            }
            return Result.OK(items);
        }catch (Exception e) {
            return Result.error("数据转译失败!");
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusChangeDetail.java
@@ -69,6 +69,9 @@
    /**验收检查结果;大修、改造 需要填写验收结果,搬迁按照技术状态鉴定工单维护,其他暂未使用到,只预留此类型*/
    @ApiModelProperty(value = "验收检查结果;大修、改造 需要填写验收结果,搬迁按照技术状态鉴定工单维护,其他暂未使用到,只预留此类型")
    private String acceptanceCheckResult;
    /**验收意见*/
    @ApiModelProperty(value = "验收意见")
    private String acceptanceCheckComment;
    //列表展示
    @TableField(exist = false)
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusChangeService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChange;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChangeDetail;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest;
@@ -48,4 +49,11 @@
     * @return
     */
    EamTechnicalStatusChange approval(EamTechnicalStatusChangeRequest request);
    /**
     * 验收
     * @param request
     * @return
     */
    boolean acceptance(EamTechnicalStatusChangeDetail request);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusChangeServiceImpl.java
@@ -15,22 +15,16 @@
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum;
import org.jeecg.modules.eam.constant.TechnicalStatusChangeOrderStatusEnum;
import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderChangeStatusEnum;
import org.jeecg.modules.eam.entity.EamBaseHFCode;
import org.jeecg.modules.eam.entity.EamEquipment;
import org.jeecg.modules.eam.entity.EamTechnicalStatusChange;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.EamTechnicalStatusChangeMapper;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeQuery;
import org.jeecg.modules.eam.request.EamTechnicalStatusChangeRequest;
import org.jeecg.modules.eam.service.IEamBaseHFCodeService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeDetailService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusChangeService;
import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
@@ -48,6 +42,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@@ -83,6 +78,12 @@
    private IFlowTaskService flowTaskService;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    @Autowired
    private IEamEquipmentExtendService equipmentExtendService;
    @Autowired
    private IEamTechnicalStatusEvaluationStandardService evaluationStandardService;
    @Autowired
    private IEamTechnicalStatusEvaluationOrderService evaluationOrderService;
    @Override
    public IPage<EamTechnicalStatusChange> queryPageList(Page<EamTechnicalStatusChange> page, EamTechnicalStatusChangeQuery query) {
@@ -175,6 +176,7 @@
            detail.setCreateTime(null);
            detail.setUpdateBy(null);
            detail.setUpdateTime(null);
            detail.setChangeOrderId(order.getId());
        });
        changeDetailService.saveBatch(request.getTableDetailList());
        return true;
@@ -211,6 +213,7 @@
            detail.setCreateTime(null);
            detail.setUpdateBy(null);
            detail.setUpdateTime(null);
            detail.setChangeOrderId(entity.getId());
        });
        changeDetailService.saveBatch(request.getTableDetailList());
        return true;
@@ -370,6 +373,70 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean acceptance(EamTechnicalStatusChangeDetail request) {
        // 获取当前登录用户
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (user == null || StrUtil.isBlank(user.getId())) {
            throw new JeecgBootException("未获取到登录用户,请重新登录后再试!");
        }
        EamTechnicalStatusChange order = this.getBaseMapper().selectById(request.getChangeOrderId());
        if(order == null) {
            throw new JeecgBootException("变更工单不存在,请刷新重试!");
        }
        if(!TechnicalStatusChangeOrderStatusEnum.COMPLETED.name().equals(order.getChangeStatus())) {
            throw new JeecgBootException("变更工单未完成,无法提交验收!");
        }
        TechnicalStatusChangeReasonEnum instance = TechnicalStatusChangeReasonEnum.getInstance(request.getChangeCategory());
        if(instance == null) {
            throw new JeecgBootException("变更原因无效,操作失败!");
        }
        EamEquipment equipment = equipmentService.getById(request.getEquipmentId());
        if(equipment == null) {
            throw new JeecgBootException("设备信息不存在,操作失败!");
        }
        EamEquipmentExtend extend = equipmentExtendService.getById(request.getEquipmentId());
        if(extend == null) {
            throw new JeecgBootException("设备信息不存在,操作失败!");
        }
        switch (instance) {
            case EQUIPMENT_MAJOR:
            case EQUIPMENT_RETROFITTING:
            case OTHER:
                //设备大修、改造、其他的逻辑
                request.setAcceptanceChecker(user.getUsername());
                request.setAcceptanceCheckTime(new Date());
                changeDetailService.updateById(request);
                //更新设备技术鉴定状态
                equipmentExtendService.updateTechnologyParam(request.getEquipmentId(), request.getAcceptanceCheckResult(), DateUtils.localDateToDate(LocalDate.now()), null);
                break;
            case EQUIPMENT_RELOCATION:
                //设备搬迁逻辑
                request.setAcceptanceChecker(user.getUsername());
                request.setAcceptanceCheckTime(new Date());
                request.setAcceptanceCheckResult(null);
                changeDetailService.updateById(request);
                //生成技术状态鉴定工单
                EamTechnicalStatusEvaluationStandard standard = evaluationStandardService.queryEnableStandard(request.getId());
                if (standard == null) {
                    throw new JeecgBootException("设备:{"+equipment.getEquipmentCode()+"},未配置技术状态鉴定规范,无法生成技术鉴定工单!");
                }
                EamTechnicalStatusEvaluationOrderRequest orderRequest = new EamTechnicalStatusEvaluationOrderRequest();
                orderRequest.setEquipmentId(extend.getId());
                orderRequest.setStandardId(standard.getId());
                orderRequest.setEvaluationDate(DateUtils.localDateToDate(LocalDate.now()));
                orderRequest.setFreezeOrderDate(null);
                orderRequest.setOrderExpirationDate(null);
                orderRequest.setCreationMethod(OrderCreationMethodEnum.AUTO.name());
                evaluationOrderService.addTechnicalStatusEvaluationOrder(orderRequest);
                //更新扩展表中的生成标识
                equipmentExtendService.updateTechnologyParam(equipment.getId(), null, null, CommonConstant.STATUS_1);
                break;
        }
        return false;
    }
    @Override
    public void afterFlowHandle(FlowMyBusiness business) {
        business.getTaskNameId();//接下来审批的节点
        business.getValues();//前端传进来的参数