From 21cbdad6f59a045910b22bb3bf771e47d56c096f Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 13 六月 2025 11:36:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 292 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 193 insertions(+), 99 deletions(-)
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..bf8ebff 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
@@ -3,27 +3,44 @@
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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;
+import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
+import org.jeecg.modules.eam.constant.BusinessCodeConst;
+import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
import org.jeecg.modules.eam.constant.InspectionStatus;
-import org.jeecg.modules.eam.constant.ReportRepairEnum;
-import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.entity.EamEquipment;
+import org.jeecg.modules.eam.entity.EamInspectionOrder;
+import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import org.jeecg.modules.eam.mapper.EamInspectionOrderMapper;
+import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
-import org.jeecg.modules.eam.service.*;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService;
+import org.jeecg.modules.eam.service.IEamInspectionOrderService;
+import org.jeecg.modules.eam.service.IEamReportRepairService;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl;
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.jeecg.modules.flowable.service.IFlowTaskService;
-import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.IMdcUserProductionService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,16 +49,18 @@
import javax.annotation.Resource;
import java.util.*;
-import java.util.stream.Collectors;
/**
* @Description: 鐐规宸ュ崟
* @Author: jeecg-boot
- * @Date: 2025-04-02
+ * @Date: 2025-04-02
* @Version: V1.0
*/
@Service("IEamInspectionOrderService")
public class EamInspectionOrderServiceImpl extends ServiceImpl<EamInspectionOrderMapper, EamInspectionOrder> implements IEamInspectionOrderService, FlowCallBackServiceI {
+
+ @Resource
+ private EamInspectionOrderMapper eamInspectionOrderMapper;
@Autowired
private IEamInspectionOrderDetailService eamInspectionOrderDetailService;
@Resource
@@ -62,30 +81,102 @@
private IMdcUserProductionService mdcUserProductionService;
@Autowired
private IEamReportRepairService eamReportRepairService;
- @Autowired
- private IEamEquipmentFaultReasonService eamEquipmentFaultReasonService;
+
+ @Override
+ public IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, EamInspectionOrderQuery query) {
+ QueryWrapper<EamInspectionOrder> queryWrapper = new QueryWrapper<>();
+ //鐢ㄦ埛鏁版嵁鏉冮檺
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ if (sysUser == null) {
+ return page;
+ }
+ if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+ //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+ List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().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());
+ }
+ //鏌ヨ鏉′欢杩囨护
+ if (query != null) {
+ if (StringUtils.isNotBlank(query.getEquipmentId())) {
+ queryWrapper.eq("wmo.equipment_id", query.getEquipmentId());
+ }
+ if (StringUtils.isNotBlank(query.getOrderNum())) {
+ queryWrapper.like("wmo.order_num", query.getOrderNum());
+ }
+ if (StringUtils.isNotBlank(query.getInspectionStatus())) {
+ queryWrapper.eq("wmo.inspection_status", query.getInspectionStatus());
+ }
+ if (query.getInspectionDateBegin() != null && query.getInspectionDateEnd() != null) {
+ queryWrapper.between("wmo.inspection_date", query.getInspectionDateBegin(), query.getInspectionDateEnd());
+ }
+ //鎺掑簭
+ if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
+ String column = query.getColumn();
+ if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
+ column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
+ }
+ if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) {
+ queryWrapper.orderByAsc("wmo." + oConvertUtils.camelToUnderline(column));
+ } else {
+ queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column));
+ }
+ } else {
+ queryWrapper.orderByDesc("wmo.create_time");
+ }
+ } else {
+ queryWrapper.orderByDesc("wmo.create_time");
+ }
+
+ return eamInspectionOrderMapper.queryPageList(page, queryWrapper);
+ }
+
+ @Override
+ public List<EamInspectionOrder> selectUnCompleteOrder(String expiredDate) {
+ LambdaQueryWrapper<EamInspectionOrder> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.lt(EamInspectionOrder::getInspectionDate, expiredDate);
+ List<String> unCompleteStatus = new ArrayList<>();
+ unCompleteStatus.add(InspectionStatus.WAIT_INSPECTION.name());
+ unCompleteStatus.add(InspectionStatus.UNDER_INSPECTION.name());
+ queryWrapper.in(EamInspectionOrder::getInspectionStatus, unCompleteStatus);
+ queryWrapper.orderByAsc(EamInspectionOrder::getInspectionDate);
+ return eamInspectionOrderMapper.selectList(queryWrapper);
+ }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addInspectionOrder(EamInspectionOrderRequest eamInspectionOrderRequest) {
EamInspectionOrder eamInspectionOrder = new EamInspectionOrder();
- BeanUtils.copyProperties(eamInspectionOrderRequest,eamInspectionOrder);
+ BeanUtils.copyProperties(eamInspectionOrderRequest, eamInspectionOrder);
//淇敼鐘舵��
- if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())){
- eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode());
- }else {
- eamInspectionOrder.setInspectionStatus(InspectionStatus.INIT.getCode());
+ if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
+ eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
+ } else {
+ eamInspectionOrder.setInspectionStatus(InspectionStatus.WAIT_INSPECTION.name());
}
save(eamInspectionOrder);
//澶勭悊鏄庣粏鏁版嵁
- if(CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) {
+ if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) {
eamInspectionOrderRequest.getTableDetailList().forEach(tableDetail -> {
tableDetail.setOrderId(eamInspectionOrder.getId());
tableDetail.setId(null);
});
eamInspectionOrderDetailService.saveBatch(eamInspectionOrderRequest.getTableDetailList());
}
- if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())){
+ //澶勭悊闄勪欢
+ 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);
+ }
+ }
+ if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
triggerProcess(eamInspectionOrder);
}
return true;
@@ -93,6 +184,7 @@
/**
* 瑙﹀彂娴佺▼
+ *
* @param eamInspectionOrder
* @return
*/
@@ -100,26 +192,25 @@
EamEquipment equipment = eamEquipmentService.getById(eamInspectionOrder.getEquipmentId());
if (equipment == null) {
return false;
- }else {
+ } else {
eamInspectionOrder.setEquipmentCode(equipment.getEquipmentCode());
}
- System.out.println("璁惧鐐规锛�" + eamInspectionOrder.getId());
- flowCommonService.initActBusiness("宸ュ崟鍙凤細"+eamInspectionOrder.getOrderNum()+"璁惧缂栧彿"+eamInspectionOrder.getEquipmentCode()+"杩涜璁惧鐐规",
+ flowCommonService.initActBusiness("宸ュ崟鍙�: " + eamInspectionOrder.getOrderNum() + ";璁惧缂栧彿: " + eamInspectionOrder.getEquipmentCode() + ";瀹夎浣嶇疆: " + equipment.getInstallationPosition(),
eamInspectionOrder.getId(), "IEamInspectionOrderService", "eam_inspection", null);
Map<String, Object> variables = new HashMap<>();
variables.put("dataId", eamInspectionOrder.getId());
- if (StrUtil.isEmpty(eamInspectionOrder.getRemark())){
+ if (StrUtil.isEmpty(eamInspectionOrder.getRemark())) {
variables.put("organization", "鏂板鐐规宸ュ崟榛樿鍚姩娴佺▼");
variables.put("comment", "鏂板鐐规宸ュ崟榛樿鍚姩娴佺▼");
- }else {
+ } else {
variables.put("organization", eamInspectionOrder.getRemark());
variables.put("comment", eamInspectionOrder.getRemark());
}
- variables.put("proofreading",true);
- List<String> usernames=new ArrayList<>();
+ variables.put("proofreading", true);
+ List<String> usernames = new ArrayList<>();
usernames.add(eamInspectionOrder.getOperator());
variables.put("NextAssignee", usernames);
- Result result= flowDefinitionService.startProcessInstanceByKey("eam_inspection", variables);
+ Result result = flowDefinitionService.startProcessInstanceByKey("eam_inspection", variables);
return result.isSuccess();
}
@@ -128,14 +219,15 @@
public boolean editInspectionOrder(EamInspectionOrderRequest eamInspectionOrderRequest) {
EamInspectionOrder eamInspectionOrder = new EamInspectionOrder();
BeanUtils.copyProperties(eamInspectionOrderRequest, eamInspectionOrder);
- if (StrUtil.isNotEmpty(eamInspectionOrder.getOperator())){
- eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode());
+ if (StrUtil.isNotEmpty(eamInspectionOrder.getOperator())) {
+ eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
}
- updateById(eamInspectionOrder);
+ super.updateById(eamInspectionOrder);
//澶勭悊鏄庣粏鏁版嵁
if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) {
eamInspectionOrderRequest.getTableDetailList().forEach(tableDetail -> {
tableDetail.setOrderId(eamInspectionOrder.getId());
+ tableDetail.setCreateTime(new Date());
});
//鍒犻櫎鏄庣粏
eamInspectionOrderDetailService.remove(new QueryWrapper<EamInspectionOrderDetail>().eq("order_id", eamInspectionOrder.getId()));
@@ -146,19 +238,24 @@
/**
* 棰嗗彇鐐规宸ュ崟
+ *
* @param id
* @return
*/
@Override
- public boolean takeInspectionOrder(String id){
+ @Transactional(rollbackFor = Exception.class)
+ public boolean takeInspectionOrder(String id) {
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
- EamInspectionOrder eamInspectionOrder=this.getById(id);
- if (eamInspectionOrder==null) {
+ if(user == null || !BusinessCodeConst.PCR0001.equals(user.getPost())) {
+ throw new JeecgBootException("涓嶆槸鎿嶄綔宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒");
+ }
+ EamInspectionOrder eamInspectionOrder = this.getById(id);
+ if (eamInspectionOrder == null) {
return false;
- }else {
+ } else {
eamInspectionOrder.setOperator(user.getUsername());
//淇敼鐘舵��
- eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode());
+ eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
this.triggerProcess(eamInspectionOrder);
this.updateById(eamInspectionOrder);
return true;
@@ -167,60 +264,64 @@
/**
* 浣滃簾鐐规宸ュ崟
+ *
* @param id
* @return
*/
@Override
- public boolean cancelInspectionOrder(String id){
+ public boolean cancelInspectionOrder(String id) {
EamInspectionOrder eamInspectionOrder = this.getById(id);
if (eamInspectionOrder == null) {
return false;
- }else {
- eamInspectionOrder.setInspectionStatus("5");
+ } else {
+ eamInspectionOrder.setInspectionStatus(InspectionStatus.ABOLISH.name());
return updateById(eamInspectionOrder);
}
}
/**
* 鐐规娴佺▼
+ *
* @param eamInspectionOrderRequest
* @return
*/
@Override
- public Result<?> inspectionProcess(EamInspectionOrderRequest eamInspectionOrderRequest) {
+ @Transactional(rollbackFor = Exception.class)
+ @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.POINT_INSPECTION, businessTable = "eam_inspection_order")
+ public EamInspectionOrder inspectionProcess(EamInspectionOrderRequest eamInspectionOrderRequest) {
try {
// 妫�鏌ヨ姹傚弬鏁�
if (!isValidRequest(eamInspectionOrderRequest)) {
- return Result.error("闈炴硶鍙傛暟");
+ throw new JeecgBootException("闈炴硶鍙傛暟");
}
// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
LoginUser user = getCurrentUser();
if (user == null || StrUtil.isBlank(user.getId())) {
- return Result.error("璐﹀彿涓嶅瓨鍦�");
+ throw new JeecgBootException("璐﹀彿涓嶅瓨鍦�");
}
eamInspectionOrderRequest.setAssignee(user.getUsername());
// 鑾峰彇鐐规宸ュ崟淇℃伅
EamInspectionOrder eamInspectionOrder = getEamInspectionOrder(eamInspectionOrderRequest.getDataId());
if (eamInspectionOrder == null) {
- return Result.error("鏈壘鍒板搴旀暟鎹�");
+ throw new JeecgBootException("鏈壘鍒板搴旀暟鎹�");
}
// 鑾峰彇娴佺▼涓氬姟璁板綍
FlowMyBusiness flowMyBusiness = getFlowMyBusiness(eamInspectionOrderRequest.getInstanceId());
if (flowMyBusiness == null) {
- return Result.error("娴佺▼璁板綍涓嶅瓨鍦�");
+ throw new JeecgBootException("娴佺▼璁板綍涓嶅瓨鍦�");
}
// 妫�鏌ョ敤鎴锋槸鍚︽湁鏉冮檺鎿嶄綔浠诲姟
if (!isUserAuthorized(flowMyBusiness, user)) {
- return Result.error("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔�");
+ throw new JeecgBootException("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔�");
}
// 璁ら浠诲姟
if (!claimTask(flowMyBusiness.getTaskId(), user)) {
- return Result.error("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰�");
+ throw new JeecgBootException("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰�");
}
// 璁剧疆娴佺▼鍙橀噺
@@ -236,15 +337,16 @@
updateEamInspectionOrder(eamInspectionOrder);
//鏌ヨ鏁版嵁,杩涜璁惧缁翠慨澶勭悊
- if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.CONFIRMED.getCode())){
+ if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.WAIT_CONFIRM.name())) {
updateEamInspectionOrderDetail(eamInspectionOrder);
}
- return Result.OK("鎿嶄綔鎴愬姛");
+ return eamInspectionOrder;
} catch (Exception e) {
- return Result.error("鎿嶄綔澶辫触锛�" + e.getMessage());
+ throw new JeecgBootException("鎿嶄綔澶辫触锛�" + e.getMessage());
}
}
+
private boolean isValidRequest(EamInspectionOrderRequest request) {
return StrUtil.isNotBlank(request.getTaskId()) && StrUtil.isNotBlank(request.getDataId());
@@ -287,19 +389,15 @@
private void setupProcessVariables(EamInspectionOrderRequest request, EamInspectionOrder order, LoginUser user) {
Map<String, Object> values = new HashMap<>();
- if (InspectionStatus.IN_PROGRESS.getCode().equals(order.getInspectionStatus()) && user.getUsername().equals(order.getOperator())) {
+ if (InspectionStatus.UNDER_INSPECTION.name().equals(order.getInspectionStatus()) && user.getUsername().equals(order.getOperator())) {
// 鐐规浜虹偣妫�缁撴潫
- String orgId = Optional.ofNullable(iEamEquipmentService.getById(order.getEquipmentId()))
- .map(equipment -> equipment.getOrgId())
+ String manager = Optional.ofNullable(iEamEquipmentService.getById(order.getEquipmentId()))
+ .map(EamEquipment::getEquipmentManager)
.orElse(null);
- if (orgId == null) {
- throw new IllegalArgumentException("鏈壘鍒拌澶囩殑缁勭粐 ID");
+ if (manager == null) {
+ throw new IllegalArgumentException("璁惧绠$悊鍛樻湭閰嶇疆");
}
- List<SysUser> sysUserList = mdcUserProductionService.queryByPostAndProId("PCR0003", orgId);
- List<String> usernameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList());
- if (usernameList.isEmpty()) {
- throw new IllegalArgumentException("鏈壘鍒拌璁惧瀵瑰簲杞﹂棿鐨勭彮缁勯暱锛岃鑱旂郴绠$悊鍛樺鐞�");
- }
+ List<String> usernameList = Collections.singletonList(manager);
values.put("dataId", order.getId());
values.put("organization", "鐐规浜虹偣妫�缁撴潫");
values.put("comment", "鐐规浜虹偣妫�缁撴潫");
@@ -308,15 +406,15 @@
} else {
// 鐝粍闀跨‘璁�
values.put("dataId", order.getId());
- values.put("organization", request.getDealSuggestion());
- values.put("comment", request.getDealSuggestion());
- values.put("confirmation", request.getDealType());
- request.setComment(request.getDealSuggestion());
- if ("2".equals(request.getDealType())) {
+ values.put("organization", request.getConfirmComment());
+ values.put("comment", request.getConfirmComment());
+ values.put("confirmation", request.getConfirmDealType());
+ request.setComment(request.getConfirmComment());
+ if ("2".equals(request.getConfirmDealType())) {
// 鐝粍闀块┏鍥�
List<String> usernames = new ArrayList<>();
usernames.add(order.getOperator());
- order.setInspectionStatus("2");
+ order.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
values.put("NextAssignee", usernames);
}
}
@@ -325,16 +423,28 @@
private void updateOrderStatus(Result result, EamInspectionOrderRequest request, EamInspectionOrder order, LoginUser user) {
if (result.isSuccess()) {
- if (InspectionStatus.IN_PROGRESS.getCode().equals(order.getInspectionStatus()) && StrUtil.isEmpty(request.getDealType())) {
+ if (InspectionStatus.UNDER_INSPECTION.name().equals(order.getInspectionStatus()) && StrUtil.isEmpty(request.getConfirmDealType())) {
// 鐐规瀹屾垚
- order.setInspectionStatus("3");
+ order.setInspectionStatus(InspectionStatus.WAIT_CONFIRM.name());
order.setOperateTime(new Date());
+ if (CollectionUtil.isNotEmpty(request.getFileList())) {
+ List<FileUploadResult> fileUploadResultList = request.getFileList();
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ String referenceFile = mapper.writeValueAsString(fileUploadResultList);
+ order.setImageFiles(referenceFile);
+ } catch (JsonProcessingException e) {
+ log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
+ }
+ }
eamInspectionOrderDetailService.remove(new QueryWrapper<EamInspectionOrderDetail>().eq("order_id", order.getId()));
eamInspectionOrderDetailService.saveBatch(request.getTableDetailList());
- } else if (InspectionStatus.COMPLETED.getCode().equals(order.getInspectionStatus()) && StrUtil.isNotEmpty(request.getDealType())) {
+ } else if (InspectionStatus.WAIT_CONFIRM.name().equals(order.getInspectionStatus()) && StrUtil.isNotEmpty(request.getConfirmDealType())) {
// 鐝粍闀跨‘璁や换鍔�
- order.setInspectionStatus("4");
+ order.setInspectionStatus(InspectionStatus.COMPLETE.name());
order.setConfirmUser(user.getUsername());
+ order.setConfirmComment(request.getConfirmComment());
+ order.setConfirmDealType(request.getConfirmDealType());
order.setConfirmTime(new Date());
}
}
@@ -346,58 +456,42 @@
/**
* 璁惧鏄惁瀛樺湪寮傚父,骞惰繘琛岃澶囩淮淇�
+ *
* @param eamInspectionOrder
*/
private void updateEamInspectionOrderDetail(EamInspectionOrder eamInspectionOrder) {
- EamEquipmentFaultReason eamEquipmentFaultReason=eamEquipmentFaultReasonService.
- getOne(new QueryWrapper<EamEquipmentFaultReason>().eq("fault_code","EFR20250003"));
List<EamInspectionOrderDetail> eamInspectionOrderDetails = eamInspectionOrderDetailService
.list(new QueryWrapper<EamInspectionOrderDetail>()
- .eq("order_id", eamInspectionOrder.getId()).eq("report_flag","1"));
- List<EamReportRepair> eamReportRepairs = new ArrayList<>();
- if (!eamInspectionOrderDetails.isEmpty()) {
- eamInspectionOrderDetails.forEach(item->{
- EamReportRepair eamReportRepair=new EamReportRepair();
- eamReportRepair.setEquipmentId(eamInspectionOrder.getEquipmentId());
- eamReportRepair.setFaultName(eamEquipmentFaultReason.getFaultName());
- eamReportRepair.setFaultType(eamEquipmentFaultReason.getFaultCategory());
- eamReportRepair.setFaultDescription(eamEquipmentFaultReason.getFaultDescription());
- eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name());
- eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0);
- eamReportRepair.setFaultStartTime(new Date());
- eamReportRepair.setRemark(item.getExceptionDescription());
- eamReportRepairs.add(eamReportRepair);
- });
- }
- if (!eamReportRepairs.isEmpty()) {
- eamReportRepairService.saveBatch(eamReportRepairs);
- }
+ .eq("order_id", eamInspectionOrder.getId()).eq("report_flag", "1").eq("inspection_result", "2"));
+ eamReportRepairService.reportRepairFromInspection(eamInspectionOrder.getEquipmentId(), eamInspectionOrder.getOperator(), eamInspectionOrderDetails);
}
/**
* 鎵归噺浣滃簾涓庨鍙�
+ *
* @param ids
* @param type
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public Result<?> batchCancelOrTakeInspectionOrder(String ids, String type){
+ public Result<?> batchCancelOrTakeInspectionOrder(String ids, String type) {
if (type == null) {
return Result.error("璇烽�夋嫨鎿嶄綔绫诲瀷");
}
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> list = Arrays.asList(ids.split(","));
- QueryWrapper<EamInspectionOrder> queryWrapper =new QueryWrapper<>();
+ QueryWrapper<EamInspectionOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", list);
- queryWrapper.eq("inspection_status", "1");
- List<EamInspectionOrder> eamInspectionOrderList =this.list(queryWrapper);
- if (!eamInspectionOrderList.isEmpty()){
+ queryWrapper.eq("inspection_status", InspectionStatus.WAIT_INSPECTION.name());
+ List<EamInspectionOrder> eamInspectionOrderList = this.list(queryWrapper);
+ if (!eamInspectionOrderList.isEmpty()) {
eamInspectionOrderList.forEach(eamInspectionOrder -> {
eamInspectionOrder.setInspectionStatus(type);
- if (type.equals("2")){
+ if (InspectionStatus.UNDER_INSPECTION.name().equals(type)) {
eamInspectionOrder.setOperator(loginUser.getUsername());
- }else {
+ this.triggerProcess(eamInspectionOrder);
+ } else {
eamInspectionOrder.setOperator(null);
}
});
@@ -408,13 +502,13 @@
@Override
- public Result<?> selectVoById(String id){
- List<EamInspectionOrder> eamInspectionOrders=this.list(new QueryWrapper<EamInspectionOrder>().eq("id", id));
- List<EamInspectionOrderRequest> eamInspectionOrderRequestList=new ArrayList<>();
+ public Result<?> selectVoById(String id) {
+ List<EamInspectionOrder> eamInspectionOrders = this.list(new QueryWrapper<EamInspectionOrder>().eq("id", id));
+ List<EamInspectionOrderRequest> eamInspectionOrderRequestList = new ArrayList<>();
eamInspectionOrders.forEach(eamInspectionOrder -> {
- EamInspectionOrderRequest eamInspectionOrderRequest=new EamInspectionOrderRequest();
- BeanUtils.copyProperties(eamInspectionOrder,eamInspectionOrderRequest);
- List<EamInspectionOrderDetail> eamInspectionOrderDetails=eamInspectionOrderDetailService
+ EamInspectionOrderRequest eamInspectionOrderRequest = new EamInspectionOrderRequest();
+ BeanUtils.copyProperties(eamInspectionOrder, eamInspectionOrderRequest);
+ List<EamInspectionOrderDetail> eamInspectionOrderDetails = eamInspectionOrderDetailService
.list(new QueryWrapper<EamInspectionOrderDetail>().eq("order_id", eamInspectionOrder.getId()));
eamInspectionOrderRequest.setTableDetailList(eamInspectionOrderDetails);
eamInspectionOrderRequestList.add(eamInspectionOrderRequest);
@@ -443,7 +537,7 @@
public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) {
//涓氬姟鏄惁骞查娴佺▼锛屼笟鍔″共棰勶紝娴佺▼骞查锛屾寚瀹氫汉鍛樿繘琛屽鐞�
//鑾峰彇涓嬩竴姝ュ鐞嗕汉
- Object object=values.get("NextAssignee");
+ Object object = values.get("NextAssignee");
return (List<String>) object;
}
}
--
Gitblit v1.9.3