Commit eb7fd81d authored by suhuiguang's avatar suhuiguang

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents 1fe08bb3 15414874
......@@ -49,7 +49,7 @@ public class FailureDetailsDto extends BaseDto {
private Integer submissionPid;
@ApiModelProperty(value = "组织code")
private String bizCode;
private Long bizCode;
@ApiModelProperty(value = "报送时间")
private Date submissionTime;
......
......@@ -76,7 +76,7 @@ public class FailureDetails extends BaseEntity {
* 组织code
*/
@TableField("biz_code")
private String bizCode;
private Long bizCode;
/**
* 报送时间
......
......@@ -7,8 +7,8 @@ public enum FailureStatuEnum {
WAITING_MAINTAIN(2,"待维修"),
WAITING_ACCEPTANCE(3,"待验收"),
REFUSE(4,"已拒绝"),
FINISH(5,"已完结");
FINISH(5,"已完结"),
IN_MAINTENANCE(6,"维修中");
private FailureStatuEnum(Integer code, String name){
this.code=code;
......
......@@ -40,10 +40,8 @@ public class FailureAuditController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<FailureAuditDto> save(@RequestBody FailureAuditDto model) throws Exception {
model = failureAuditServiceImpl.savemodel(model,getSelectedOrgInfo());
return ResponseHelper.buildResponse(model);
public ResponseModel<Object> save(@RequestBody FailureAuditDto model) throws Exception {
return ResponseHelper.buildResponse(failureAuditServiceImpl.savemodel(model,getSelectedOrgInfo()));
}
......
......@@ -62,7 +62,7 @@ public class FailureDetailsController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody FailureDetailsDto model ) {
public ResponseModel<Object> save(@RequestBody FailureDetailsDto model ) throws Exception {
return ResponseHelper.buildResponse( failureDetailsServiceImpl.savemodel(model,getSelectedOrgInfo()));
}
......
......@@ -38,8 +38,8 @@ public class FailureMaintainController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<FailureMaintainDto> save(@RequestBody FailureMaintainDto model, ReginParams userInfo) {
model = failureMaintainServiceImpl.savemodel(model,userInfo);
public ResponseModel<Object> save(@RequestBody FailureMaintainDto model) {
failureMaintainServiceImpl.savemodel(model,getSelectedOrgInfo());
return ResponseHelper.buildResponse(model);
}
......@@ -53,11 +53,27 @@ public class FailureMaintainController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "验收操作", notes = "根据sequenceNbr更新")
public Object updateBySequenceNbrFailureMaintain(@RequestBody FailureMaintainDto model,Integer status,@PathVariable(value = "sequenceNbr") Long sequenceNbr,ReginParams userInfo) {
public Object updateBySequenceNbrFailureMaintain(@RequestBody FailureMaintainDto model,Integer status,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateModel(model,status,userInfo));
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateModel(model,status,getSelectedOrgInfo()));
}
/**
* 根据sequenceNbr更新
* 根据传递的Status状态确认验收状态
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/update/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "维修完成", notes = "根据sequenceNbr更新")
public Object updateByFailureMaintain(@RequestBody FailureMaintainDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateStatus(model,getSelectedOrgInfo()));
}
/*
*/
/**
......
......@@ -3,9 +3,13 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -36,6 +40,8 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
@Autowired
FailureRepairlogServiceImpl failureRepairlogService;
private final Logger logger = LoggerFactory.getLogger(FailureAuditServiceImpl.class);
/**
* 分页查询
*/
......@@ -54,9 +60,15 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
* 发起审核
*/
@Transactional
public FailureAuditDto savemodel(FailureAuditDto model, ReginParams userInfo) throws Exception {
public Object savemodel(FailureAuditDto model, ReginParams userInfo) throws Exception {
int condition = Integer.parseInt(model.getCondition());
model.setAuditTime(new Date());
model.setAuditDepartmentId(userInfo.getDepartment().getSequenceNbr());
model.setAuditor(userInfo.getRole().getRoleName());
model.setAuditDepartment(userInfo.getDepartment().getDepartmentName());
try {
//根据审核的结果进行业务操作
if (condition == AuditResultEnum.AGREE.getCode()) {
updateStatus(model, FailureStatuEnum.WAITING_MAINTAIN, userInfo,condition);
......@@ -65,33 +77,49 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
} else if (condition == (AuditResultEnum.SEND_BACK.getCode())) {
updateStatus(model, FailureStatuEnum.WAITING_SUBMIT, userInfo,condition);
}
return this.createWithModel(model);
FailureAuditDto withModel = this.createWithModel(model);
}catch (Exception e){
e.printStackTrace();
e.printStackTrace();
logger.info("添加故障审核信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
}
return true;
}
/**
* 修改故障保修单任务状态
*/
@Transactional
FailureDetailsDto updateStatus(FailureAuditDto model, FailureStatuEnum status, ReginParams userInfo,int condition) throws Exception {
public Boolean updateStatus(FailureAuditDto model, FailureStatuEnum status, ReginParams userInfo,int condition) throws Exception {
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(model.getFaultId());
//当前角色部门id为应急指挥科的时候 并且同意时 不修改主表状态 依然为待审核
//当前角色部门id为维修部门的时候 修改状态
if (userInfo.getDepartment().getSequenceNbr() == failureDetailsDto.getBizCode()
&& condition == AuditResultEnum.AGREE.getCode()){
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
}else if (userInfo.getDepartment().getSequenceNbr() != failureDetailsDto.getBizCode()
) {
failureDetailsDto.setCurrentStatus(status.getCode());
}
failureDetailsDto.setSequenceNbr(model.getFaultId());
failureDetailsService.updateWithModel(failureDetailsDto);
String conditionText;
boolean result = failureDetailsService.checkExcuteTaskAuth(failureDetailsDto.getSequenceNbr(), userInfo);
if (result){
//添加报修日志
Long faultId = model.getFaultId();
model.setAuditTime(new Date());
model.setAuditDepartmentId(userInfo.getDepartment().getSequenceNbr());
model.setAuditor(userInfo.getRole().getRoleName());
model.setAuditDepartment(userInfo.getDepartment().getDepartmentName());
Date processTime = model.getAuditTime();
String processDepartment = model.getAuditDepartment();
String processAuditor = model.getAuditor();
Integer processAuditorId =Integer.parseInt(userInfo.getUserModel().getUserId()) ;
Long auditDepartmentId = (userInfo.getDepartment().getSequenceNbr());
if (condition == AuditResultEnum.AGREE.getCode()) {
if (condition == AuditResultEnum.AGREE.getCode() ) {
conditionText = AuditResultEnum.AGREE.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText);
}
......@@ -99,12 +127,14 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
conditionText = AuditResultEnum.SEND_BACK.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText);
}
if (condition == AuditResultEnum.REFUSE.getCode()){
conditionText = AuditResultEnum.REFUSE.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText);
}
failureDetailsService.excuteTask(failureDetailsDto.getProcessId(), userInfo,condition+"");
return failureDetailsService.updateWithModel(failureDetailsDto);
return true;
}
return null;
return false;
}
/**
......
......@@ -203,6 +203,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
int acceptanceStatus=0;
int refuseStatus=0;
int finishStatus=0;
int inMaintenance=0;
List<FailureStatusCountDto> list = new ArrayList<>();
// String[] statusName = new String[]{"待审核", "待提交", "待维修", "待验收", "已拒绝", "已完结"};
......@@ -211,7 +212,9 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
FailureStatuEnum.WAITING_SUBMIT.getName(),
FailureStatuEnum.WAITING_MAINTAIN.getName(),
FailureStatuEnum.WAITING_ACCEPTANCE.getName(),
FailureStatuEnum.REFUSE.getName());
FailureStatuEnum.REFUSE.getName(),
FailureStatuEnum.FINISH.getName(),
FailureStatuEnum.IN_MAINTENANCE.getName());
for (int i = 0; i < failureDetailsDtos.size(); i++) {
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_AUDIT.getCode())){
......@@ -232,9 +235,14 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.FINISH.getCode())){
finishStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.IN_MAINTENANCE.getCode())){
inMaintenance++;
}
}
int[] statusCount = {auditStatus,submitStatus,maintainStatus,acceptanceStatus,refuseStatus,finishStatus};
int[] statusCount = {auditStatus,submitStatus,maintainStatus,acceptanceStatus
,refuseStatus,finishStatus,inMaintenance};
for (int i = 0; i < statusName.size(); i++) {
FailureStatusCountDto statusCountDto= new FailureStatusCountDto();
statusCountDto.setStatus(statusName.get(i));
......@@ -249,7 +257,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
*
* @throws Exception
*/
public Object savemodel(FailureDetailsDto failureDetailsDto, ReginParams userInfo) throws Exception {
public Object savemodel(FailureDetailsDto failureDetailsDto, ReginParams userInfo) {
String businessKey = buildOrderNo();
JSONObject body = new JSONObject();
body.put("businessKey", businessKey);
......@@ -268,12 +276,10 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
failureDetailsDto.setProcessId(instance.getString("id"));
FailureDetailsDto model = null;
try {
// 发起主表流程 并添加至报修日志
failureDetailsDto.setSubmissionTime(new Date());
failureDetailsDto.setFailureCode(buildOrderNo());
failureDetailsDto.setBizCode(buildOrderNo());
failureDetailsDto.setBizCode(userInfo.getDepartment().getSequenceNbr());
failureDetailsDto.setIsDelete(false);
model = this.createWithModel(failureDetailsDto);
......
......@@ -3,8 +3,14 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.Date;
import java.util.List;
import com.yeejoin.amos.boot.module.common.api.dto.FailureAuditDto;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -26,6 +32,7 @@ import com.yeejoin.amos.boot.module.common.api.service.IFailureMaintainService;
* @date 2021-08-04
*/
@Service
@Transactional
public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,FailureMaintain,FailureMaintainMapper> implements IFailureMaintainService {
@Autowired
SourceFileServiceImpl sourceFileServiceImpl;
......@@ -34,6 +41,11 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,F
@Autowired
FailureRepairlogServiceImpl failureRepairlogService;
private final Logger logger = LoggerFactory.getLogger(FailureMaintainServiceImpl.class);
private static String[] MAINTENANCE_STATUS= {"维修完成","维修中"};
private static String[] PROCESS_RESULT = {"验证通过","验证未通过"};
/**
* 分页查询
*/
......@@ -51,10 +63,11 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,F
/**
* 添加维修记录
*/
public FailureMaintainDto savemodel(FailureMaintainDto failureMaintainDto,ReginParams userInfo) {
public Object savemodel(FailureMaintainDto failureMaintainDto,ReginParams userInfo) {
failureDetailsService.checkExcuteTaskAuthMap(failureMaintainDto.getFaultId(),userInfo);
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, null);
try {
this.createWithModel(failureMaintainDto);
//添加完成后修改保修单状态为待验收
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
......@@ -62,23 +75,55 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,F
failureDetailsService.updateWithModel(failureDetailsDto);
//添加报修日志
String processResult = "维修完成";
String processResult = MAINTENANCE_STATUS[1];//维修中
Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId());
repairlog(failureMaintainDto.getFaultId(),failureMaintainDto.getMaintainMan(),processAuditorId,userInfo.getDepartment().getSequenceNbr(),failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(),processResult);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())){
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),failureMaintainDto.getAttachment());
return failureMaintainDto;
}
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, null);
}catch (Exception e){
e.printStackTrace();
e.printStackTrace();
logger.info("添加故障维修信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
}
return true;
}
/**
* 根据FaultId查询
* 更新状态维修完成
*/
public List<FailureMaintain> findByfaultId(Long faultId) {
Page<FailureMaintain> page = new Page<>();
QueryWrapper<FailureMaintain> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("fault_id", faultId).orderByDesc("submission_time");
return baseMapper.selectList(queryWrapper);
public Boolean updateStatus(FailureMaintainDto failureMaintainDto,ReginParams userInfo) {
try {
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
failureDetailsDto.setCurrentStatus(FailureStatuEnum.IN_MAINTENANCE.getCode());
this.updateWithModel(failureMaintainDto);
//添加报修日志
String processResult = MAINTENANCE_STATUS[0];//维修完成
Integer processAuditorId = Integer.parseInt(failureMaintainDto.getRecUserId());
repairlog(failureMaintainDto.getFaultId(),failureMaintainDto.getMaintainMan(),processAuditorId,userInfo.getDepartment().getSequenceNbr(),failureMaintainDto.getMaintainTime(),
failureMaintainDto.getDepartment(),processResult);
if (ObjectUtils.isNotEmpty(failureMaintainDto.getAttachment())){
sourceFileServiceImpl.saveSourceFile(failureMaintainDto.getSequenceNbr(),failureMaintainDto.getAttachment());
}
failureDetailsService.excuteTask(failureMaintainDto.getFaultId(), userInfo, null);
}catch (Exception e){
e.printStackTrace();
logger.info("更新故障验收信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
}
return true;
}
/**
......@@ -87,21 +132,27 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,F
public Boolean updateModel(FailureMaintainDto failureMaintainDto, Integer status, ReginParams userInfo) {
boolean result = failureDetailsService.checkExcuteTaskAuth(failureMaintainDto.getFaultId(), userInfo);
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
if (result){
this.updateWithModel(failureMaintainDto);
//根据status修改状态
String processResult = new String();
String condition = new String();
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(failureMaintainDto.getFaultId());
if (status == AuditResultEnum.AGREE.getCode()) {//同意状态为已完结
failureDetailsDto.setCurrentStatus(FailureStatuEnum.FINISH.getCode());
if (status == AuditResultEnum.AGREE.getCode() && userInfo.getDepartment().getSequenceNbr()
== failureDetailsDto.getBizCode()) {//同意状态为已完结
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
failureDetailsService.updateWithModel(failureDetailsDto);
processResult =PROCESS_RESULT[0] ;
condition= AuditResultEnum.AGREE.getName();
}else if (status == AuditResultEnum.AGREE.getCode() ) {//同意状态为已完结
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
failureDetailsService.updateWithModel(failureDetailsDto);
processResult = "验证通过";
processResult =PROCESS_RESULT[0] ;
condition= AuditResultEnum.AGREE.getName();
}else {//不同意状态为已拒绝
} else {//不同意状态为已拒绝
failureDetailsDto.setCurrentStatus(FailureStatuEnum.REFUSE.getCode());
failureDetailsService.updateWithModel(failureDetailsDto);
processResult = "验证未通过";
processResult = PROCESS_RESULT[1];
condition = AuditResultEnum.REFUSE.getName();
}
//添加报修日志
......
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