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();//前端传进来的参数