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); } 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); } 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); //启动流程 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); } 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) ; //如果保存数据前未调用必调的FlowCommonService.initActBusiness方法,就会有问题 FlowMyBusiness business = this.getOne(flowMyBusinessLambdaQueryWrapper); FlowMyBusiness business = flowMyBusinessMapper.selectByDataId(dataId); return business; }