From 2be0d59a05f526ced8f0401126015deeea486663 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 10 四月 2025 10:35:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java                       |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java                    |   56 +++++++++++++++++++++++++++-
 lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java |    8 +---
 lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java            |    4 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java                         |   17 ++++++++
 5 files changed, 77 insertions(+), 10 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
index 3678b95..13b404e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
@@ -55,7 +55,7 @@
                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                    HttpServletRequest req) {
 //        QueryWrapper<EamWeekMaintenanceOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamWeekMaintenanceOrder, req.getParameterMap());
-        Page<EamWeekMaintenanceOrder> page = new Page<EamWeekMaintenanceOrder>(pageNo, pageSize);
+        Page<EamWeekMaintenanceOrder> page = new Page<>(pageNo, pageSize);
         IPage<EamWeekMaintenanceOrder> pageList = eamWeekMaintenanceOrderService.queryPageList(page, query);
         return Result.OK(pageList);
     }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
index a9ac0fc..d97a6e7 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -5,9 +5,12 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 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.system.vo.LoginUser;
@@ -76,7 +79,7 @@
         }else {
             eamInspectionOrder.setInspectionStatus(InspectionStatus.INIT.getCode());
         }
-        save(eamInspectionOrder);
+
         //澶勭悊鏄庣粏鏁版嵁
         if(CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) {
             eamInspectionOrderRequest.getTableDetailList().forEach(tableDetail -> {
@@ -85,6 +88,18 @@
             });
             eamInspectionOrderDetailService.saveBatch(eamInspectionOrderRequest.getTableDetailList());
         }
+        //澶勭悊闄勪欢
+        if(CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getFileList())) {
+            FileUploadResult fileUploadResult = eamInspectionOrderRequest.getFileList().get(0);
+            ObjectMapper mapper = new ObjectMapper();
+            try {
+                String referenceFile = mapper.writeValueAsString(fileUploadResult);
+                eamInspectionOrder.setImageFiles(referenceFile);
+            } catch (JsonProcessingException e) {
+                log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
+            }
+        }
+        save(eamInspectionOrder);
         if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())){
             triggerProcess(eamInspectionOrder);
         }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
index e594233..c17c420 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
@@ -80,7 +80,33 @@
             eamWeekMaintenanceOrderDetailService.saveBatch(request.getTableDetailList());
         }
         //鍒ゆ柇鏄惁瀛樺湪淇濆吇浜� 濡傛灉瀛樺湪鍒欏惎鍔ㄦ祦绋�
-        //TODO
+        if(StringUtils.isNotBlank(order.getOperator())) {
+            //鍚姩娴佺▼
+            flowCommonService.initActBusiness("宸ュ崟鍙�:" + order.getOrderNum() + ";寮�濮嬭繘琛岃澶囧懆淇�",
+                    order.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null);
+            Map<String, Object> variables = new HashMap<>();
+            variables.put("dataId", order.getId());
+            if (StrUtil.isEmpty(order.getRemark())) {
+                variables.put("organization", "鏂板鍛ㄤ繚宸ュ崟榛樿鍚姩娴佺▼");
+                variables.put("comment", "鏂板鍛ㄤ繚宸ュ崟榛樿鍚姩娴佺▼");
+            } else {
+                variables.put("organization", order.getRemark());
+                variables.put("comment", order.getRemark());
+            }
+            variables.put("proofreading", true);
+            List<String> usernames = new ArrayList<>();
+            usernames.add(order.getOperator());
+            variables.put("NextAssignee", usernames);
+            Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables);
+            if(result != null){
+                //鏇存柊鍛ㄤ繚鐘舵��
+                order.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
+                order.setActualStartTime(new Date());
+                eamWeekMaintenanceOrderMapper.updateById(order);
+                return result.isSuccess();
+            }
+        }
+
         return true;
     }
 
@@ -174,7 +200,32 @@
             eamWeekMaintenanceOrderDetailService.removeBatchByIds(ids);
         }
         //鍒ゆ柇鏄惁瀛樺湪淇濆吇浜� 濡傛灉瀛樺湪鍒欏惎鍔ㄦ祦绋�
-        //TODO
+        if(StringUtils.isNotBlank(entity.getOperator())) {
+            //鍚姩娴佺▼
+            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){
+                //鏇存柊鍛ㄤ繚鐘舵��
+                entity.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
+                entity.setActualStartTime(new Date());
+                eamWeekMaintenanceOrderMapper.updateById(entity);
+                return result.isSuccess();
+            }
+        }
         return true;
     }
 
@@ -191,6 +242,7 @@
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         entity.setOperator(sysUser.getUsername());
         entity.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
+        entity.setActualStartTime(new Date());
         eamWeekMaintenanceOrderMapper.updateById(entity);
 
         //鍚姩娴佺▼
diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java
index bc0fda2..7880ff5 100644
--- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.flowable.apithird.business.dto.FlowMyBusinessDto;
 import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
 import org.jeecg.modules.flowable.domain.dto.FlowTaskDto;
@@ -31,4 +32,7 @@
      */
     IPage<FlowMyBusinessDto> PageList(@Param("page") Page page, @Param("flowMyBusinessDto") FlowMyBusinessDto flowMyBusinessDto);
 
+    @Select("SELECT * FROM flow_my_business WITH (INDEX(idx_data_id)) \n" +
+            "WHERE data_id = #{dataId}")
+    FlowMyBusiness selectByDataId(String dataId);
 }
diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java
index 3216cf9..793799f 100644
--- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java
@@ -14,7 +14,6 @@
 import org.jeecg.modules.flowable.util.TimeUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
@@ -58,13 +57,10 @@
         return null;
     }
 
-    @Transactional(isolation = Isolation.READ_COMMITTED)    // 闄嶄綆闅旂绾у埆
+    @Transactional   // 闄嶄綆闅旂绾у埆
     public FlowMyBusiness getByDataId(String dataId) {
-        LambdaQueryWrapper<FlowMyBusiness> flowMyBusinessLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        flowMyBusinessLambdaQueryWrapper.eq(FlowMyBusiness::getDataId,dataId)
-        ;
         //濡傛灉淇濆瓨鏁版嵁鍓嶆湭璋冪敤蹇呰皟鐨凢lowCommonService.initActBusiness鏂规硶锛屽氨浼氭湁闂
-        FlowMyBusiness business = this.getOne(flowMyBusinessLambdaQueryWrapper);
+        FlowMyBusiness business = flowMyBusinessMapper.selectByDataId(dataId);
         return business;
     }
 

--
Gitblit v1.9.3