Commit c6210718 authored by chenhao's avatar chenhao

合并修改维修中任务节点代码

parent d302a6af
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.FailureMaintainDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FailureMaintainServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.FailureMaintainDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FailureMaintainServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/** /**
* *
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.yeejoin.amos.boot.module.common.api.dto.FailureAuditDto;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto; import com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto;
import com.yeejoin.amos.boot.module.common.api.dto.FailureMaintainDto; import com.yeejoin.amos.boot.module.common.api.dto.FailureMaintainDto;
import com.yeejoin.amos.boot.module.common.api.dto.FailureRepairlogDto; import com.yeejoin.amos.boot.module.common.api.dto.FailureRepairlogDto;
import com.yeejoin.amos.boot.module.common.api.entity.FailureMaintain; import com.yeejoin.amos.boot.module.common.api.entity.FailureMaintain;
import com.yeejoin.amos.boot.module.common.api.enums.AuditResultEnum; import com.yeejoin.amos.boot.module.common.api.enums.AuditResultEnum;
import com.yeejoin.amos.boot.module.common.api.enums.FailureStatuEnum; import com.yeejoin.amos.boot.module.common.api.enums.FailureStatuEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.FailureMaintainMapper; import com.yeejoin.amos.boot.module.common.api.mapper.FailureMaintainMapper;
import com.yeejoin.amos.boot.module.common.api.service.IFailureMaintainService; import com.yeejoin.amos.boot.module.common.api.service.IFailureMaintainService;
/** /**
*
* 服务实现类 * 服务实现类
* *
*
*
* @author system_generator * @author system_generator
*
* @date 2021-08-04 * @date 2021-08-04
*
*/ */
@Service @Service
@Transactional @Transactional
public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,FailureMaintain,FailureMaintainMapper> implements IFailureMaintainService {
public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto, FailureMaintain, FailureMaintainMapper>
implements IFailureMaintainService {
@Autowired @Autowired
SourceFileServiceImpl sourceFileServiceImpl; SourceFileServiceImpl sourceFileServiceImpl;
@Autowired @Autowired
FailureDetailsServiceImpl failureDetailsService; FailureDetailsServiceImpl failureDetailsService;
@Autowired @Autowired
FailureRepairlogServiceImpl failureRepairlogService; FailureRepairlogServiceImpl failureRepairlogService;
private static String RECORE_TYPE = "维修记录"; private static String RECORE_TYPE = "维修记录";
private final Logger logger = LoggerFactory.getLogger(FailureMaintainServiceImpl.class); private final Logger logger = LoggerFactory.getLogger(FailureMaintainServiceImpl.class);
private static String[] MAINTENANCE_STATUS= {"维修完成","维修中"}; private static String[] MAINTENANCE_STATUS = { "维修完成", "维修中" };
private static int MAINTENANCE_COMPLETE= 0;
private static int MAINTENANCE_ADD= 1; private static int MAINTENANCE_COMPLETE = 0;
private static String[] PROCESS_RESULT = {"验证通过","验证未通过"};
private static int MAINTENANCE_ADD = 1;
private static String[] PROCESS_RESULT = { "验证通过", "验证未通过" };
/** /**
*
* 分页查询 * 分页查询
*
*/ */
public Page<FailureMaintainDto> queryForFailureMaintainPage(Page<FailureMaintainDto> page) { public Page<FailureMaintainDto> queryForFailureMaintainPage(Page<FailureMaintainDto> page) {
return this.queryForPage(page, null, false); return this.queryForPage(page, null, false);
} }
/** /**
*
* 列表查询 示例 * 列表查询 示例
*
*/ */
public List<FailureMaintainDto> queryForFailureMaintainList() { public List<FailureMaintainDto> queryForFailureMaintainList() {
return this.queryForList("" , false);
return this.queryForList("", false);
} }
/** /**
*
* 添加维修记录 * 添加维修记录
*
*/ */
public Object savemodel(FailureMaintainDto failureMaintainDto,ReginParams userInfo) {
public Object savemodel(FailureMaintainDto failureMaintainDto, ReginParams userInfo) {
String condition = failureMaintainDto.getCondition(); String condition = failureMaintainDto.getCondition();
int conditionStatus = Integer.parseInt(condition); int conditionStatus = Integer.parseInt(condition);
if (conditionStatus == MAINTENANCE_ADD){
if (conditionStatus == MAINTENANCE_ADD) {
boolean result = failureDetailsService.checkExcuteTaskAuth(failureMaintainDto.getFaultId(), userInfo); boolean result = failureDetailsService.checkExcuteTaskAuth(failureMaintainDto.getFaultId(), userInfo);
if (!result){
if (!result) {
return false; return false;
} }
try { try {
failureMaintainDto.setMaintainMan(userInfo.getUserModel().getUserName()); failureMaintainDto.setMaintainMan(userInfo.getUserModel().getUserName());
failureMaintainDto.setMaintainTime(new Date()); failureMaintainDto.setMaintainTime(new Date());
failureMaintainDto.setDepartment(userInfo.getDepartment().getDepartmentName()); failureMaintainDto.setDepartment(userInfo.getDepartment().getDepartmentName());
failureMaintainDto.setBizId(userInfo.getDepartment().getSequenceNbr()); failureMaintainDto.setBizId(userInfo.getDepartment().getSequenceNbr());
failureMaintainDto.setRecoreType(RECORE_TYPE); failureMaintainDto.setRecoreType(RECORE_TYPE);
this.createWithModel(failureMaintainDto); this.createWithModel(failureMaintainDto);
//添加完成后修改保修单状态为待验收
// 添加完成后修改保修单状态为维修中
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId()); FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
failureDetailsDto.setCurrentStatus(FailureStatuEnum.IN_MAINTENANCE.getCode()); failureDetailsDto.setCurrentStatus(FailureStatuEnum.IN_MAINTENANCE.getCode());
failureDetailsService.updateWithModel(failureDetailsDto); failureDetailsService.updateWithModel(failureDetailsDto);
//添加报修日志 // 添加报修日志
String processResult = MAINTENANCE_STATUS[1];//维修中
String processResult = MAINTENANCE_STATUS[1];// 维修中
Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId()); Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId());
String processAuditorCid = userInfo.getUserModel().getUserName(); String processAuditorCid = userInfo.getUserModel().getUserName();
repairlog(failureMaintainDto.getFaultId(),failureMaintainDto.getMaintainMan(),processAuditorId,userInfo.getDepartment().getSequenceNbr(),failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(),processResult,processAuditorCid);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())){ repairlog(failureMaintainDto.getFaultId(), failureMaintainDto.getMaintainMan(), processAuditorId,
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),failureMaintainDto.getAttachment()); userInfo.getDepartment().getSequenceNbr(), failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(), processResult, processAuditorCid);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())) {
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),
failureMaintainDto.getAttachment());
} }
if (failureDetailsService.checkIsInMaintenance(failureDetailsDto.getSequenceNbr()) != null) {
try {
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, condition); failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, condition);
}catch (Exception e){ }catch (Exception e) {
e.printStackTrace(); return false;
e.printStackTrace(); }
}
} catch (Exception e) {
logger.info("添加故障维修信息到数据库失败"); logger.info("添加故障维修信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
return false;
} }
return true; return true;
}
return this.updateStatus(failureMaintainDto,userInfo);
} }
return this.updateStatus(failureMaintainDto, userInfo);
}
/** /**
*
* 更新状态维修完成 * 更新状态维修完成
*
*/ */
public Boolean updateStatus(FailureMaintainDto failureMaintainDto,ReginParams userInfo) {
public Boolean updateStatus(FailureMaintainDto failureMaintainDto, ReginParams userInfo) {
try { try {
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId()); FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
failureDetailsDto.setCurrentStatus(FailureStatuEnum.WAITING_ACCEPTANCE.getCode()); failureDetailsDto.setCurrentStatus(FailureStatuEnum.WAITING_ACCEPTANCE.getCode());
this.updateWithModel(failureMaintainDto); this.updateWithModel(failureMaintainDto);
//添加报修日志 // 添加报修日志
String processResult = MAINTENANCE_STATUS[0];//维修完成
String processResult = MAINTENANCE_STATUS[0];// 维修完成
Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId()); Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId());
String processAuditorCid = userInfo.getUserModel().getUserName(); String processAuditorCid = userInfo.getUserModel().getUserName();
repairlog(failureMaintainDto.getFaultId(),failureMaintainDto.getMaintainMan(),processAuditorId,userInfo.getDepartment().getSequenceNbr(),failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(),processResult,processAuditorCid);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())){ repairlog(failureMaintainDto.getFaultId(), failureMaintainDto.getMaintainMan(), processAuditorId,
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),failureMaintainDto.getAttachment()); userInfo.getDepartment().getSequenceNbr(), failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(), processResult, processAuditorCid);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())) {
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),
failureMaintainDto.getAttachment());
} }
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, failureMaintainDto.getCondition()); try {
}catch (Exception e){ failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo,
e.printStackTrace(); failureMaintainDto.getCondition());
} catch (Exception e) {
return false;
}
} catch (Exception e) {
logger.info("更新故障验收信息到数据库失败"); logger.info("更新故障验收信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
return false;
} }
return true; return true;
} }
/** /**
*根据审核结果更新维修表 *
* 根据审核结果更新维修表
*
*/ */
public Boolean updateModel(FailureMaintainDto failureMaintainDto, Integer status, ReginParams userInfo) { public Boolean updateModel(FailureMaintainDto failureMaintainDto, Integer status, ReginParams userInfo) {
boolean result = failureDetailsService.checkExcuteTaskAuth(failureMaintainDto.getFaultId(), userInfo); boolean result = failureDetailsService.checkExcuteTaskAuth(failureMaintainDto.getFaultId(), userInfo);
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId()); FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
if (result){
if (result) {
this.updateWithModel(failureMaintainDto); this.updateWithModel(failureMaintainDto);
//根据status修改状态
// 根据status修改状态
String processResult = new String(); String processResult = new String();
String condition = new String(); String condition = new String();
if (status == AuditResultEnum.AGREE.getCode() && userInfo.getDepartment().getSequenceNbr() if (status == AuditResultEnum.AGREE.getCode() && userInfo.getDepartment().getSequenceNbr()
== failureDetailsDto.getBizCode()) {//同意状态为已完结
== failureDetailsDto.getBizCode()) {// 同意状态为已完结
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus()); failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
failureDetailsService.updateWithModel(failureDetailsDto); failureDetailsService.updateWithModel(failureDetailsDto);
processResult =PROCESS_RESULT[0] ;
condition= AuditResultEnum.AGREE.getName(); processResult = PROCESS_RESULT[0];
} else if (status == AuditResultEnum.AGREE.getCode() ) {//同意状态为已完结
condition = AuditResultEnum.AGREE.getName();
} else if (status == AuditResultEnum.AGREE.getCode()) {// 同意状态为已完结
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus()); failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
failureDetailsService.updateWithModel(failureDetailsDto); failureDetailsService.updateWithModel(failureDetailsDto);
processResult =PROCESS_RESULT[0] ;
condition= AuditResultEnum.AGREE.getName(); processResult = PROCESS_RESULT[0];
} else {//不同意状态为已拒绝
condition = AuditResultEnum.AGREE.getName();
} else {// 不同意状态为已拒绝
failureDetailsDto.setCurrentStatus(FailureStatuEnum.REFUSE.getCode()); failureDetailsDto.setCurrentStatus(FailureStatuEnum.REFUSE.getCode());
failureDetailsService.updateWithModel(failureDetailsDto); failureDetailsService.updateWithModel(failureDetailsDto);
processResult = PROCESS_RESULT[1]; processResult = PROCESS_RESULT[1];
condition = AuditResultEnum.REFUSE.getName(); condition = AuditResultEnum.REFUSE.getName();
} }
//添加报修日志
// 添加报修日志
Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId()); Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId());
String processAuditorCid = userInfo.getUserModel().getUserName(); String processAuditorCid = userInfo.getUserModel().getUserName();
repairlog(failureMaintainDto.getFaultId(),failureMaintainDto.getMaintainMan(),processAuditorId, userInfo.getDepartment().getSequenceNbr(),failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(),processResult); repairlog(failureMaintainDto.getFaultId(), failureMaintainDto.getMaintainMan(), processAuditorId,
userInfo.getDepartment().getSequenceNbr(), failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(), processResult, processAuditorCid);
try { try {
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, condition); failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, condition);
}catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
failureMaintainDto.getDepartment(),processResult,processAuditorCid);
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, condition);
return true; return true;
} }
return false; return false;
} }
/** /**
*
* 查询当前故障报修单的流程的审批历史节点 * 查询当前故障报修单的流程的审批历史节点
*
* @param sequenceNbr * @param sequenceNbr
*
* @return * @return
*
*/ */
public List<Object> getProcessHistoryList(Long sequenceNbr) { public List<Object> getProcessHistoryList(Long sequenceNbr) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
/** /**
*
* 添加报修日志 * 添加报修日志
*
*/ */
@Transactional @Transactional
public Boolean repairlog(Long faultId, String processAuditor,Integer processAuditorId,Long departmentId,Date processTime,
String processDepartment, String processResult,String processAuditorCid) { public Boolean repairlog(Long faultId, String processAuditor, Integer processAuditorId, Long departmentId,
Date processTime,
String processDepartment, String processResult, String processAuditorCid) {
FailureRepairlogDto failureRepairlogDto = new FailureRepairlogDto(); FailureRepairlogDto failureRepairlogDto = new FailureRepairlogDto();
failureRepairlogDto.setFaultId(faultId); failureRepairlogDto.setFaultId(faultId);
failureRepairlogDto.setProcessAuditor(processAuditor); failureRepairlogDto.setProcessAuditor(processAuditor);
failureRepairlogDto.setProcessAuditorId(processAuditorId); failureRepairlogDto.setProcessAuditorId(processAuditorId);
failureRepairlogDto.setProcessDepartmentId(departmentId); failureRepairlogDto.setProcessDepartmentId(departmentId);
failureRepairlogDto.setProcessTime(processTime); failureRepairlogDto.setProcessTime(processTime);
failureRepairlogDto.setProcessDepartment(processDepartment); failureRepairlogDto.setProcessDepartment(processDepartment);
failureRepairlogDto.setProcessResult(processResult); failureRepairlogDto.setProcessResult(processResult);
failureRepairlogDto.setProcessAuditorCid(processAuditorCid); failureRepairlogDto.setProcessAuditorCid(processAuditorCid);
failureRepairlogService.createWithModel(failureRepairlogDto); failureRepairlogService.createWithModel(failureRepairlogDto);
if (ObjectUtils.isNotEmpty(failureRepairlogDto)){
if (ObjectUtils.isNotEmpty(failureRepairlogDto)) {
return true; return true;
} }
return false; return false;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment