From 9a9697c55fa66821cf74165ac2ae820182dae94d Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 23 七月 2025 17:41:53 +0800
Subject: [PATCH] 设备维修对应接口

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java |  412 +++++++++++++++++-----------------------------------------
 1 files changed, 124 insertions(+), 288 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
index 43b4479..92eb973 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
@@ -1,18 +1,15 @@
 package org.jeecg.modules.eam.service.impl;
-
-import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.flowable.engine.TaskService;
 import org.flowable.task.api.Task;
-import org.jeecg.common.api.vo.FileUploadResult;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.DataBaseConstant;
@@ -21,18 +18,17 @@
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
 import org.jeecg.modules.eam.constant.*;
+import org.jeecg.modules.eam.dto.EamRepairOrderDto;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamRepairOrder;
+import org.jeecg.modules.eam.entity.EamRepairPerson;
 import org.jeecg.modules.eam.entity.EamReportRepair;
 import org.jeecg.modules.eam.mapper.EamRepairOrderMapper;
 import org.jeecg.modules.eam.request.EamRepairOrderQuery;
 import org.jeecg.modules.eam.request.EamRepairOrderRequest;
 import org.jeecg.modules.eam.request.EamRepairOrderResponse;
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
-import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
-import org.jeecg.modules.eam.service.IEamRepairOrderService;
-import org.jeecg.modules.eam.service.IEamReportRepairService;
+import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.eam.util.DateUtils;
 import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
 import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
@@ -40,6 +36,10 @@
 import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
 import org.jeecg.modules.flowable.service.IFlowDefinitionService;
 import org.jeecg.modules.flowable.service.IFlowTaskService;
+import org.jeecg.modules.system.entity.BaseFactory;
+import org.jeecg.modules.system.entity.BaseFactoryUser;
+import org.jeecg.modules.system.service.IBaseFactoryService;
+import org.jeecg.modules.system.service.IBaseFactoryUserService;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.system.vo.UserSelector;
@@ -66,9 +66,6 @@
     private FlowCommonService flowCommonService;
 
     @Resource
-    private ISysBusinessCodeRuleService businessCodeRuleService;
-
-    @Resource
     private IEamReportRepairService eamReportRepairService;
 
     @Resource
@@ -92,6 +89,15 @@
     @Autowired
     private ISysUserService sysUserService;
 
+    @Autowired
+    private IBaseFactoryService baseFactoryService;
+
+    @Autowired
+    private IBaseFactoryUserService baseFactoryUserService;
+
+    @Autowired
+    private IEamRepairPersonService iEamRepairPersonService;
+
     /**
      * 鍒嗛〉鍒楄〃
      *
@@ -108,13 +114,21 @@
         if (sysUser == null) {
             return page;
         }
-        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
             //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
-            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
             queryWrapper.in("e.equipment_code", equipArr);
         } else {
-            //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶�
-            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.
+                    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());
+                queryWrapper.in("e.factory_org_code", factoryCode);
+            } else {
+                return page;
+            }
         }
         //鏌ヨ鏉′欢杩囨护
         if (query != null) {
@@ -130,15 +144,9 @@
             if (StringUtils.isNotBlank(query.getRepairStatus())) {
                 queryWrapper.eq("wmo.repair_status", query.getRepairStatus());
             }
-            if (StringUtils.isNotBlank(query.getRepairer())) {
-                queryWrapper.like("wmo.repairer", query.getRepairer());
-            }
             if (StringUtils.isNotBlank(query.getRepairCode())) {
                 queryWrapper.like("wmo.repair_code", query.getRepairCode());
             }
-//            if(query.getStartTime() != null && query.getEndTime() != null) {
-//                queryWrapper.between("wmo.fault_start_time", query.getStartTime(), query.getEndTime());
-//            }
             //鎺掑簭
             if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
                 String column = query.getColumn();
@@ -160,91 +168,105 @@
         return baseMapper.queryPageList(page, queryWrapper);
     }
 
+    /**
+     * 濉姤璇︽儏
+     * @param id
+     */
     @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void saveRepairOrder(EamRepairOrder eamRepairOrder) {
-        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE);
-        eamRepairOrder.setRepairCode(codeSeq);
-        EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
-        if(eamReportRepair == null){
-            throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
+    public List<EamRepairOrderDto> queryByReportId(String id){
+        List<EamRepairOrder> eamRepairOrders=this.list(
+                new QueryWrapper<EamRepairOrder>().eq("id",id));
+        List<EamRepairOrderDto> eamRepairOrderDtoList=new ArrayList<>();
+        if (CollectionUtils.isEmpty(eamRepairOrders)) {
+            return null;
+        }else {
+            eamRepairOrders.forEach(eamRepairOrder->{
+                EamRepairOrderDto eamRepairOrderDto=new EamRepairOrderDto();
+                BeanUtils.copyProperties(eamRepairOrder,eamRepairOrderDto);
+                List<EamRepairPerson> eamRepairPersonList=iEamRepairPersonService.list(
+                        new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrder.getId()));
+                eamRepairOrderDto.setEamRepairPersonList(eamRepairPersonList);
+                eamRepairOrderDtoList.add(eamRepairOrderDto);
+            });
         }
-        eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0);
-        eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId());
-        eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name());
-        eamRepairOrder.setActualStartTime(DateUtils.getNow());
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        eamRepairOrder.setRepairer(user.getUsername());
-        super.save(eamRepairOrder);
-        EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId());
-        // 鍚姩缁翠慨娴佺▼
-        flowCommonService.initActBusiness("宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + ";瀹夎浣嶇疆: " + eamEquipment.getInstallationPosition(),
-                eamRepairOrder.getId(),
-                "IEamRepairOrderService",
-                "eam_repair",
-                null);
-        Map<String, Object> variables = new HashMap<>();
-        variables.put("dataId", eamRepairOrder.getId());
-        variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼");
-        variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼");
-        variables.put("proofreading", true);
-        List<String> usernames = new ArrayList<>();
-        usernames.add(user.getUsername());
-        variables.put("NextAssignee", usernames);
-        Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables);
-        if (!result.isSuccess()) {
-            super.removeById(eamRepairOrder);
-        } else {
-            eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name());
-            eamReportRepairService.updateById(eamReportRepair);
-            //鏇存柊璁惧缁翠慨鐘舵��
-            eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
-        }
+        return eamRepairOrderDtoList;
     }
 
     /**
-     * 鎸囨淳
-     * @param eamReportRepairQuery
+     * 濉姤缁翠慨宸ュ崟
+     * @param eamRepairOrderDto
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void assign(EamReportRepairQuery eamReportRepairQuery) {
-        EamRepairOrder eamRepairOrder = new EamRepairOrder();
-        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE);
-        eamRepairOrder.setRepairCode(codeSeq);
-        EamReportRepair eamReportRepair = eamReportRepairService.getById(eamReportRepairQuery.getId());
-        if(eamReportRepair == null){
-            throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
+    public boolean report(EamRepairOrderDto eamRepairOrderDto){
+        EamRepairOrder eamRepairOrder=this.getById(eamRepairOrderDto.getId());
+        if (eamRepairOrder==null){
+            return false;
         }
-        eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0);
-        eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId());
-        eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name());
-        eamRepairOrder.setActualStartTime(DateUtils.getNow());
-        eamRepairOrder.setRepairer(eamReportRepairQuery.getRepairer());
-        super.save(eamRepairOrder);
-        EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId());
+        BeanUtils.copyProperties(eamRepairOrderDto,eamRepairOrder);
+        eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name());
+        this.updateById(eamRepairOrder);
+        EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId());
+        if (eamReportRepair==null){
+            return false;
+        }
+        eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name());
+        eamReportRepairService.updateById(eamReportRepair);
+        iEamRepairPersonService.remove(new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrderDto.getId()));
+        if(CollectionUtils.isNotEmpty(eamRepairOrderDto.getEamRepairPersonList())) {
+            List<EamRepairPerson> persons = eamRepairOrderDto.getEamRepairPersonList().stream()
+                    .map(person -> new EamRepairPerson()
+                            .setRepairId(eamRepairOrder.getId())
+                            .setDelFlag(CommonConstant.DEL_FLAG_0))
+                    .collect(Collectors.toList());
+            iEamRepairPersonService.saveBatch(persons);
+        }
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveRepairOrder(String id) {
+        EamRepairOrder eamRepairOrder = this.getById(id);
+        List<EamRepairPerson> eamRepairPersonList=iEamRepairPersonService.list(
+                new QueryWrapper<EamRepairPerson>().eq("repair_id",eamRepairOrder.getId()));
+        if (CollectionUtils.isEmpty(eamRepairPersonList)) {
+            throw new RuntimeException("缁翠慨浜哄憳涓嶈兘涓虹┖");
+        }
+        if (StrUtil.isEmpty(eamRepairOrder.getRepairCode())) {}
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        EamEquipment eamEquipment = eamEquipmentService.getById(eamRepairOrder.getEquipmentId());
+        List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0001);
         // 鍚姩缁翠慨娴佺▼
-        flowCommonService.initActBusiness("宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + ";瀹夎浣嶇疆: " + eamEquipment.getInstallationPosition(),
+        flowCommonService.initActBusiness("宸ュ崟鍙凤細" + eamRepairOrder.getRepairCode() + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode()+"鍙戣捣缁翠慨娴佺▼",
                 eamRepairOrder.getId(),
                 "IEamRepairOrderService",
-                "eam_repair",
+                "repair_work_order",
                 null);
         Map<String, Object> variables = new HashMap<>();
         variables.put("dataId", eamRepairOrder.getId());
         variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼");
         variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼");
         variables.put("proofreading", true);
-        List<String> usernames = new ArrayList<>();
-        usernames.add(eamReportRepairQuery.getRepairer());
-        variables.put("NextAssignee", usernames);
-        Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables);
+        if (CollectionUtils.isEmpty(userSelectorList)) {
+            throw new JeecgBootException("璁惧鏈瓨鍦ㄦ搷浣滃憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
+        }else {
+            List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+            variables.put("NextAssignee", usernameList);
+        }
+        Result result = flowDefinitionService.startProcessInstanceByKey("repair_work_order", variables);
         if (!result.isSuccess()) {
             super.removeById(eamRepairOrder);
         } else {
-            eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_INTERNAL_CONFIRM.name());
+            eamRepairOrder.setRepairConfirm(user.getUsername());
+            eamRepairOrder.setRepairConfirmTime(new Date());
+            eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.PENDING_CONFIRMATION.name());
+            this.updateById(eamRepairOrder);
+            EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId());
+            eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name());
             eamReportRepairService.updateById(eamReportRepair);
             //鏇存柊璁惧缁翠慨鐘舵��
-            eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
+            eamEquipmentExtendService.updateEquipmentRepairStatus(eamRepairOrder.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
         }
     }
 
@@ -261,10 +283,6 @@
         EamRepairOrder order = this.baseMapper.selectById(request.getId());
         if (order == null) {
             throw new JeecgBootException("缁翠慨宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
-        }
-        EamReportRepair eamReportRepair = eamReportRepairService.getById(order.getReportId());
-        if (eamReportRepair == null) {
-            throw new JeecgBootException("鏁呴殰鎶ヤ慨涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
         }
         // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -289,214 +307,34 @@
         if (equipment == null) {
             throw new JeecgBootException("璁惧涓嶅瓨鍦紝璇锋鏌ワ紒");
         }
-
-        ReportRepairEnum status = ReportRepairEnum.getInstance(order.getRepairStatus());
-        if (status == null) {
-            throw new JeecgBootException("宸ュ崟鐘舵�佷笉鍚堟硶锛岃妫�鏌ワ紒");
-        }
         //娴佺▼鍙橀噺
         Map<String, Object> values = new HashMap<>();
-        List<UserSelector> userSelectors;
-        List<String> userApprovalList;
-        switch (status) {
-            case WAIT_INTERNAL_CONFIRM:
-                order.setRepairConfirm(request.getRepairConfirm());
-                order.setRepairConfirmComment(request.getRepairConfirmComment());
-                order.setRepairConfirmTime(new Date());
-                values.put("dataId", order.getId());
-                values.put("repairConfirm", request.getRepairConfirm());
-                if(StringUtils.isNotBlank(request.getRepairConfirmComment())){
-                    values.put("organization", request.getRepairConfirmComment());
-                    values.put("comment", request.getRepairConfirmComment());
-                    request.setComment(request.getRepairConfirmComment());
-                }else {
-                    values.put("organization", "缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�");
-                    values.put("comment", "缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�");
-                    request.setComment("缁翠慨宸ュ崟缁翠慨浜虹‘璁ゅ畬鎴�");
-                }
-                if(CommonConstant.STATUS_1.equals(request.getRepairConfirm())) {
-                    //鍙唴閮ㄧ淮淇�  缁翠慨浜鸿繘琛岀淮淇�
-                    values.put("NextAssignee", Arrays.asList(order.getRepairer().split(",")));
-
-                    order.setRepairStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name());
-                }else {
-                    //鎻愪氦鏈哄姩鍔炵淮淇紝杞﹂棿绠$悊鍛樼‘璁�
-                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0003);
-                    if (CollectionUtil.isEmpty(userSelectors)) {
-                        throw new JeecgBootException("璁惧鏈垎閰嶇粰鐝粍闀匡紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
-                    }
-                    userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
-                    values.put("NextAssignee", userApprovalList);
-                    order.setRepairStatus(ReportRepairEnum.WAIT_LEADER_CONFIRM.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_LEADER_CONFIRM.name());
-                }
-                break;
-            case UNDER_INTERNAL_REPAIR:
-                // 鍐呴儴缁翠慨
-                values.put("dataId", order.getId());
-                values.put("organization", "缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                values.put("comment", "缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
-                request.setComment("缁翠慨宸ュ崟缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                order.setFaultReason(request.getFaultReason());
-                order.setRepairDescription(request.getRepairDescription());
-                order.setActualEndTime(new Date());
-                // 澶勭悊闄勪欢
-                if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
-                    List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
-                    ObjectMapper mapper = new ObjectMapper();
-                    try {
-                        String referenceFile = mapper.writeValueAsString(fileUploadResultList);
-                        order.setImageFiles(referenceFile);
-                    } catch (JsonProcessingException e) {
-                        log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
-                    }
-                }
-                //鏇存柊璁惧缁翠慨鐘舵��
-                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
-                break;
-            case WAIT_LEADER_CONFIRM:
-                order.setLeaderConfirm(request.getLeaderConfirm());
-                order.setLeaderConfirmComment(request.getLeaderConfirmComment());
-                order.setLeaderUser(user.getUsername());
-                order.setLeaderConfirmTime(new Date());
-                values.put("dataId", order.getId());
-                values.put("leaderConfirm", request.getLeaderConfirm());
-                if(StringUtils.isNotBlank(request.getLeaderConfirmComment())){
-                    values.put("organization", request.getLeaderConfirmComment());
-                    values.put("comment", request.getLeaderConfirmComment());
-                    request.setComment(request.getLeaderConfirmComment());
-                }else {
-                    values.put("organization", "缁翠慨宸ュ崟棰嗗纭瀹屾垚");
-                    values.put("comment", "缁翠慨宸ュ崟棰嗗纭瀹屾垚");
-                    request.setComment("缁翠慨宸ュ崟棰嗗纭瀹屾垚");
-                }
-                if(CommonConstant.STATUS_1.equals(request.getLeaderConfirm())) {
-                    //閫氳繃 鎻愪氦鏈哄姩鍔炵淮淇�
-                    userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), null, BusinessCodeConst.PCR0006);
-                    if (CollectionUtil.isEmpty(userSelectors)) {
-                        throw new JeecgBootException("璁惧鏈垎閰嶇粰鍏徃绠$悊鍛橈紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
-                    }
-                    userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
-                    values.put("NextAssignee", userApprovalList);
-                    order.setRepairStatus(ReportRepairEnum.WAIT_EXTERNAL_CONFIRM.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_EXTERNAL_CONFIRM.name());
-                }else {
-                    //椹冲洖 鍙唴閮ㄧ淮淇�  缁翠慨浜鸿繘琛岀淮淇�
-                    values.put("NextAssignee", Arrays.asList(order.getRepairer().split(",")));
-                    order.setRepairStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_INTERNAL_REPAIR.name());
-                }
-                break;
-            case WAIT_EXTERNAL_CONFIRM:
-                order.setExternalConfirm(request.getExternalConfirm());
-                order.setExternalConfirmComment(request.getExternalConfirmComment());
-                order.setExternalRepairer(user.getUsername());
-                order.setExternalConfirmTime(new Date());
-                values.put("dataId", order.getId());
-                values.put("externalConfirm", request.getExternalConfirm());
-                if(StringUtils.isNotBlank(request.getExternalConfirmComment())){
-                    values.put("organization", request.getExternalConfirmComment());
-                    values.put("comment", request.getExternalConfirmComment());
-                    request.setComment(request.getExternalConfirmComment());
-                }else {
-                    values.put("organization", "缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�");
-                    values.put("comment", "缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�");
-                    request.setComment("缁翠慨宸ュ崟鏈哄姩鍔炵‘璁ゅ畬鎴�");
-                }
-                if(CommonConstant.STATUS_1.equals(request.getExternalConfirm())) {
-                    //鏈哄姩鍔炲彲缁翠慨  鏈哄姩鍔炵淮淇汉杩涜缁翠慨
-                    values.put("NextAssignee", Arrays.asList(order.getExternalRepairer().split(",")));
-                    order.setRepairStatus(ReportRepairEnum.UNDER_EXTERNAL_REPAIR.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_EXTERNAL_REPAIR.name());
-                }else {
-                    //鏈哄姩鍔炰笉鍙淮淇� 杩涜濮斿缁翠慨
-                    values.put("NextAssignee", Arrays.asList(order.getExternalRepairer().split(",")));
-                    order.setRepairStatus(ReportRepairEnum.UNDER_OUTSIDE_REPAIR.name());
-                    eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_OUTSIDE_REPAIR.name());
-                }
-                break;
-            case UNDER_EXTERNAL_REPAIR:
-                // 鏈哄姩鍔炵淮淇�
-                values.put("dataId", order.getId());
-                values.put("organization", "缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�");
-                values.put("comment", "缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�");
-                values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
-                request.setComment("缁翠慨宸ュ崟鏈哄姩鍔炵淮淇畬鎴愬緟鎿嶄綔宸ョ‘璁�");
-                order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                order.setFaultReason(request.getFaultReason());
-                order.setRepairDescription(request.getRepairDescription());
-                order.setActualEndTime(new Date());
-                // 澶勭悊闄勪欢
-                if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
-                    List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
-                    ObjectMapper mapper = new ObjectMapper();
-                    try {
-                        String referenceFile = mapper.writeValueAsString(fileUploadResultList);
-                        order.setImageFiles(referenceFile);
-                    } catch (JsonProcessingException e) {
-                        log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
-                    }
-                }
-                //鏇存柊璁惧缁翠慨鐘舵��
-                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
-                break;
-            case UNDER_OUTSIDE_REPAIR:
-                // 鏈哄姩鍔炵淮淇�
-                values.put("dataId", order.getId());
-                values.put("organization", "缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                values.put("comment", "缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
-                request.setComment("缁翠慨宸ュ崟濮斿缁翠慨瀹屾垚寰呮搷浣滃伐纭");
-                order.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                order.setOutsourcedUser(user.getUsername());
-                eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name());
-                order.setFaultReason(request.getFaultReason());
-                order.setRepairDescription(request.getRepairDescription());
-                order.setActualEndTime(new Date());
-                // 澶勭悊闄勪欢
-                if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
-                    List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
-                    ObjectMapper mapper = new ObjectMapper();
-                    try {
-                        String referenceFile = mapper.writeValueAsString(fileUploadResultList);
-                        order.setImageFiles(referenceFile);
-                    } catch (JsonProcessingException e) {
-                        log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
-                    }
-                }
-                //鏇存柊璁惧缁翠慨鐘舵��
-                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
-                break;
-            case WAIT_CONFIRM:
-                // 寰呯‘璁�, 缁翠慨鍛樼淮淇畬鎴愶紝鎶ヤ慨浜虹‘璁ょ粨鏉熸祦绋�
-                values.put("dataId", order.getId());
-                values.put("organization", "缁翠慨宸ュ崟娴佺▼缁撴潫");
-                values.put("comment", "缁翠慨宸ュ崟娴佺▼缁撴潫");
-                request.setComment("缁翠慨宸ュ崟娴佺▼缁撴潫");
-                order.setRepairStatus(ReportRepairEnum.COMPLETE.name());
-                eamReportRepair.setReportStatus(ReportRepairEnum.COMPLETE.name());
-                order.setConfirmComment(request.getConfirmComment());
-                order.setConfirmTime(new Date());
-                order.setConfirmer(user.getUsername());
-                //鏇存柊璁惧缁翠慨鐘舵��
-                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.NORMAL.name());
-                break;
-        }
+        values.put("dataId", request.getId());
+        values.put("assignee", user.getId());
+        values.put("organization", request.getConfirmComment());
+        values.put("comment", request.getConfirmComment());
+        request.setComment(request.getConfirmComment());
         request.setValues(values);
-
         // 瀹屾垚娴佺▼浠诲姟
         Result result = flowTaskService.complete(request);
         if (!result.isSuccess()) {
             throw new JeecgBootException("瀹℃壒澶辫触锛岃鍒锋柊鏌ョ湅锛�");
         }
         //淇濆瓨宸ュ崟
+        if (request.getConfirmResult() != null) {
+            if ("1".equals(request.getConfirmResult())) {
+                order.setRepairStatus(EamRepairOrderRepairStatusEnum.REPAIR_COMPLETED.name());
+            }else {
+                order.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name());
+            }
+        }
+        order.setConfirmer(user.getUsername());
+        order.setConfirmTime(new Date());
+        order.setConfirmResult(request.getConfirmResult());
+        order.setConfirmComment(request.getConfirmComment());
         this.baseMapper.updateById(order);
-        // 鍚屾鏇存柊鎶ヤ慨琛ㄧ姸鎬�
+        EamReportRepair eamReportRepair=eamReportRepairService.getById(order.getReportId());
+        eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name());
         eamReportRepairService.updateById(eamReportRepair);
         return order;
     }
@@ -508,8 +346,6 @@
         BeanUtils.copyProperties(eamRepairOrder, eamRepairOrderResponse);
         EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
         BeanUtils.copyProperties(eamReportRepair, eamRepairOrderResponse);
-        eamRepairOrderResponse.setReportImageFiles(eamReportRepair.getImageFiles());
-        eamRepairOrderResponse.setImageFiles(eamRepairOrder.getImageFiles());
         return eamRepairOrderResponse;
     }
 

--
Gitblit v1.9.3