报废审核

This commit is contained in:
mashuai 2025-01-02 10:55:57 +08:00
parent 12a0487ccb
commit 5fa102fc3d
12 changed files with 272 additions and 62 deletions

View File

@ -10,9 +10,9 @@ import lombok.Getter;
@Getter @Getter
public enum RepairInputStatusEnum { public enum RepairInputStatusEnum {
Input_TASK_NO_FINISHED(0, "入库进行中"), INPUT_TASK_NO_FINISHED(0, "入库进行中"),
Input_TASK_IN_FINISHED(1, "入库完成"), INPUT_TASK_IN_FINISHED(1, "入库完成"),
Input_TASK_TO_REJECT(2, "入库驳回"); INPUT_TASK_TO_REJECT(2, "入库驳回");
private final Integer status; private final Integer status;
private final String statusName; private final String statusName;

View File

@ -0,0 +1,24 @@
package com.bonus.common.biz.enums;
import lombok.Getter;
/**
* @author : mashuai
* @version : 1.0
* 报废任务状态枚举
*/
@Getter
public enum ScrapTaskStatusEnum {
SCRAP_TASK_NO_FINISHED(0, "报废审核进行中"),
SCRAP_TASK_IN_FINISHED(1, "报废审核通过"),
SCRAP_TASK_TO_REJECT(2, "报废审核驳回");
private final Integer status;
private final String statusName;
ScrapTaskStatusEnum(Integer status, String statusName) {
this.status = status;
this.statusName = statusName;
}
}

View File

@ -35,7 +35,6 @@ public class ArchivesController extends BaseController {
* @return * @return
*/ */
@ApiOperation(value = "获取电子档案分类树") @ApiOperation(value = "获取电子档案分类树")
@PreventRepeatSubmit
//@RequiresPermissions("archives:type:list") //@RequiresPermissions("archives:type:list")
@GetMapping("/getTypeList") @GetMapping("/getTypeList")
public AjaxResult getTypeList(ArchivesInfo archiveInfo) public AjaxResult getTypeList(ArchivesInfo archiveInfo)
@ -49,7 +48,6 @@ public class ArchivesController extends BaseController {
* @return * @return
*/ */
@ApiOperation(value = "获取电子档案详情信息") @ApiOperation(value = "获取电子档案详情信息")
@PreventRepeatSubmit
//@RequiresPermissions("archives:type:list") //@RequiresPermissions("archives:type:list")
@GetMapping("/getDetailsList") @GetMapping("/getDetailsList")
public AjaxResult getDetailsList(ArchivesDetails archivesDetails) public AjaxResult getDetailsList(ArchivesDetails archivesDetails)
@ -79,7 +77,7 @@ public class ArchivesController extends BaseController {
* @return * @return
*/ */
@ApiOperation(value = "新增电子档案右侧类型") @ApiOperation(value = "新增电子档案右侧类型")
@PreventRepeatSubmit //@PreventRepeatSubmit
//@RequiresPermissions("archives:type:add") //@RequiresPermissions("archives:type:add")
@PostMapping("/addDetails") @PostMapping("/addDetails")
public AjaxResult addDetails(@RequestBody ArchivesVo archivesVo) public AjaxResult addDetails(@RequestBody ArchivesVo archivesVo)

View File

@ -602,7 +602,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR_INPUT.getTaskTypeId()); int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR_INPUT.getTaskTypeId());
// 生成修饰入库单号 // 生成修饰入库单号
String code = genderWxTaskCode(thisMonthMaxOrder); String code = genderWxTaskCode(thisMonthMaxOrder);
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR_INPUT.getTaskTypeId(), RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus(), TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR_INPUT.getTaskTypeId(), RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus(),
null,thisMonthMaxOrder + 1, code); null,thisMonthMaxOrder + 1, code);
tmTask.setCreateTime(DateUtils.getNowDate()); tmTask.setCreateTime(DateUtils.getNowDate());
tmTask.setCreateBy(SecurityUtils.getUsername()); tmTask.setCreateBy(SecurityUtils.getUsername());

View File

@ -74,18 +74,18 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
.map(info -> Integer.parseInt(info.getStatus())) .map(info -> Integer.parseInt(info.getStatus()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(statusList)) { if (CollectionUtils.isNotEmpty(statusList)) {
if (!statusList.contains(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus()) && if (!statusList.contains(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus()) &&
statusList.contains(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus())) { statusList.contains(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus())) {
inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus())); inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus()));
inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatusName())); inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatusName()));
} else if (!statusList.contains(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus()) && } else if (!statusList.contains(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus()) &&
!statusList.contains(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus()) && !statusList.contains(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus()) &&
statusList.stream().allMatch(status -> status.equals(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus()))) { statusList.stream().allMatch(status -> status.equals(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus()))) {
inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus())); inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus()));
inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatusName())); inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatusName()));
} else { } else {
inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus())); inputInfo.setStatus(String.valueOf(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus()));
inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatusName())); inputInfo.setStatusName(String.valueOf(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatusName()));
} }
} }
} }
@ -297,8 +297,8 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
Long newTaskId = insertTt(rePairDto.getTaskId()); Long newTaskId = insertTt(rePairDto.getTaskId());
result += insertTta(newTaskId, repairInputDetails1); result += insertTta(newTaskId, repairInputDetails1);
for (RepairInputInfo repairInputInfo : list) { for (RepairInputInfo repairInputInfo : list) {
if (repairInputInfo.getStatus().equals(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus().toString()) if (repairInputInfo.getStatus().equals(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus().toString())
|| repairInputInfo.getStatus().equals(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus().toString()) || repairInputInfo.getStatus().equals(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus().toString())
) { ) {
continue; continue;
} }
@ -313,7 +313,7 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
result += insertWxTask(newTaskId, repairInputDetails1); result += insertWxTask(newTaskId, repairInputDetails1);
} }
if (result > 0) { if (result > 0) {
result += taskMapper.updateTaskStatus(rePairDto.getTaskId().toString(), RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus()); result += taskMapper.updateTaskStatus(rePairDto.getTaskId().toString(), RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus());
} }
} }
@ -328,7 +328,7 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
private int updateRepairRejectDetails(RepairInputInfo repairInputInfo) { private int updateRepairRejectDetails(RepairInputInfo repairInputInfo) {
int result = 0; int result = 0;
RepairInputDetails inputDetails = new RepairInputDetails(); RepairInputDetails inputDetails = new RepairInputDetails();
inputDetails.setStatus(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus().toString()); inputDetails.setStatus(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus().toString());
inputDetails.setRejectNum(repairInputInfo.getPendingInputNum()); inputDetails.setRejectNum(repairInputInfo.getPendingInputNum());
inputDetails.setMaId(repairInputInfo.getMaId() == null ? null : repairInputInfo.getMaId()); inputDetails.setMaId(repairInputInfo.getMaId() == null ? null : repairInputInfo.getMaId());
inputDetails.setTaskId(repairInputInfo.getTaskId()); inputDetails.setTaskId(repairInputInfo.getTaskId());
@ -385,7 +385,7 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
Long newTaskId = insertTt(repairInputDetails.getTaskId()); Long newTaskId = insertTt(repairInputDetails.getTaskId());
result += insertTta(newTaskId, repairInputDetails); result += insertTta(newTaskId, repairInputDetails);
for (RepairInputDetails inputDetails : repairInputDetails.getMaCodeList()) { for (RepairInputDetails inputDetails : repairInputDetails.getMaCodeList()) {
inputDetails.setStatus(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus().toString()); inputDetails.setStatus(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus().toString());
inputDetails.setTaskId(repairInputDetails.getTaskId()); inputDetails.setTaskId(repairInputDetails.getTaskId());
inputDetails.setTypeId(repairInputDetails.getTypeId()); inputDetails.setTypeId(repairInputDetails.getTypeId());
inputDetails.setRejectNum(BigDecimal.valueOf(1)); inputDetails.setRejectNum(BigDecimal.valueOf(1));
@ -550,7 +550,7 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
private int processCodeTypeStorage(RepairInputDetails repairInputDetails) { private int processCodeTypeStorage(RepairInputDetails repairInputDetails) {
int result = 0; int result = 0;
for (RepairInputDetails inputDetails : repairInputDetails.getMaCodeList()) { for (RepairInputDetails inputDetails : repairInputDetails.getMaCodeList()) {
inputDetails.setStatus(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus().toString()); inputDetails.setStatus(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus().toString());
inputDetails.setTaskId(repairInputDetails.getTaskId()); inputDetails.setTaskId(repairInputDetails.getTaskId());
inputDetails.setTypeId(repairInputDetails.getTypeId()); inputDetails.setTypeId(repairInputDetails.getTypeId());
inputDetails.setInputNum(BigDecimal.valueOf(1)); inputDetails.setInputNum(BigDecimal.valueOf(1));
@ -604,13 +604,13 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
List<String> list = repairInputDetailsMapper.selectStatusByTaskId(repairInputDetails.getTaskId()); List<String> list = repairInputDetailsMapper.selectStatusByTaskId(repairInputDetails.getTaskId());
List<Integer> statusList = list.stream().map(Integer::parseInt).collect(Collectors.toList()); List<Integer> statusList = list.stream().map(Integer::parseInt).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(statusList)) { if (CollectionUtils.isNotEmpty(statusList)) {
if (!statusList.contains(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus()) && if (!statusList.contains(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus()) &&
statusList.contains(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus())) { statusList.contains(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus())) {
taskMapper.updateTaskStatus(repairInputDetails.getTaskId().toString(), RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus()); taskMapper.updateTaskStatus(repairInputDetails.getTaskId().toString(), RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus());
} else if (!statusList.contains(RepairInputStatusEnum.Input_TASK_NO_FINISHED.getStatus()) && } else if (!statusList.contains(RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus()) &&
!statusList.contains(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus()) && !statusList.contains(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus()) &&
statusList.stream().allMatch(status -> status.equals(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus()))) { statusList.stream().allMatch(status -> status.equals(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus()))) {
taskMapper.updateTaskStatus(repairInputDetails.getTaskId().toString(), RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus()); taskMapper.updateTaskStatus(repairInputDetails.getTaskId().toString(), RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus());
} }
} }
} }
@ -641,15 +641,15 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
for (RepairInputInfo repairInputInfo : list) { for (RepairInputInfo repairInputInfo : list) {
if (repairInputInfo.getStatus().equals(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus().toString()) if (repairInputInfo.getStatus().equals(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus().toString())
|| repairInputInfo.getStatus().equals(RepairInputStatusEnum.Input_TASK_TO_REJECT.getStatus().toString()) || repairInputInfo.getStatus().equals(RepairInputStatusEnum.INPUT_TASK_TO_REJECT.getStatus().toString())
) { ) {
continue; continue;
} }
result += updateRepairInputDetails(repairInputInfo); result += updateRepairInputDetails(repairInputInfo);
} }
if (result > 0) { if (result > 0) {
result += taskMapper.updateTaskStatus(taskId.toString(), RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus()); result += taskMapper.updateTaskStatus(taskId.toString(), RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus());
} }
} }
return result; return result;
@ -663,7 +663,7 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService
private int updateRepairInputDetails(RepairInputInfo repairInputInfo) { private int updateRepairInputDetails(RepairInputInfo repairInputInfo) {
int result = 0; int result = 0;
RepairInputDetails inputDetails = new RepairInputDetails(); RepairInputDetails inputDetails = new RepairInputDetails();
inputDetails.setStatus(RepairInputStatusEnum.Input_TASK_IN_FINISHED.getStatus().toString()); inputDetails.setStatus(RepairInputStatusEnum.INPUT_TASK_IN_FINISHED.getStatus().toString());
inputDetails.setInputNum(repairInputInfo.getPendingInputNum()); inputDetails.setInputNum(repairInputInfo.getPendingInputNum());
inputDetails.setMaId(repairInputInfo.getMaId() == null ? null : repairInputInfo.getMaId()); inputDetails.setMaId(repairInputInfo.getMaId() == null ? null : repairInputInfo.getMaId());
inputDetails.setTaskId(repairInputInfo.getTaskId()); inputDetails.setTaskId(repairInputInfo.getTaskId());

View File

@ -75,6 +75,28 @@ public class ScrapApplyDetailsController extends BaseController {
util.exportExcel(response, list, "报废任务详细数据"); util.exportExcel(response, list, "报废任务详细数据");
} }
/**
* 报废审核通过
* @param scrapApplyDetails
* @return
*/
@ApiOperation(value = "报废审核通过")
@GetMapping("/approve")
public AjaxResult approve(@RequestBody ScrapApplyDetails scrapApplyDetails) {
return scrapApplyDetailsService.approve(scrapApplyDetails);
}
/**
* 报废审核驳回
* @param scrapApplyDetails
* @return
*/
@ApiOperation(value = "报废审核驳回")
@GetMapping("/reject")
public AjaxResult reject(@RequestBody ScrapApplyDetails scrapApplyDetails) {
return scrapApplyDetailsService.reject(scrapApplyDetails);
}
/** /**
* 获取报废任务详细详细信息 * 获取报废任务详细详细信息
*/ */

View File

@ -2,6 +2,9 @@ package com.bonus.material.scrap.domain;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.bonus.material.scrap.domain.vo.ScrapTaskListVo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -25,6 +28,12 @@ public class ScrapApplyDetails extends BaseEntity {
/** id */ /** id */
private Long id; private Long id;
@ApiModelProperty(value = "报废任务二级详细列表")
private List<ScrapApplyDetails> scrapApplyDetailsList;
@ApiModelProperty(value = "报废任务一级详细列表")
private List<ScrapTaskListVo> scrapTaskListVoList;
/** 任务ID */ /** 任务ID */
@Excel(name = "任务ID") @Excel(name = "任务ID")
@ApiModelProperty(value = "任务ID") @ApiModelProperty(value = "任务ID")
@ -33,6 +42,11 @@ public class ScrapApplyDetails extends BaseEntity {
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private String status; private String status;
private String statusName;
@ApiModelProperty(value = "任务状态")
private Byte taskStatus;
/** 上级ID */ /** 上级ID */
@Excel(name = "上级ID") @Excel(name = "上级ID")
@ApiModelProperty(value = "上级ID") @ApiModelProperty(value = "上级ID")

View File

@ -25,6 +25,7 @@ public class ScrapTaskListVo {
@ApiModelProperty(value = "报废单号") @ApiModelProperty(value = "报废单号")
private String scrapCode; private String scrapCode;
@ApiModelProperty(value = "维修单号")
private String repairCode; private String repairCode;
@ApiModelProperty(value = "组织id") @ApiModelProperty(value = "组织id")
@ -71,6 +72,9 @@ public class ScrapTaskListVo {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String endTime; private String endTime;
@ApiModelProperty(value = "任务状态名称")
private String taskStatusName;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;

View File

@ -67,4 +67,11 @@ public interface ScrapApplyDetailsMapper {
RepairAuditDetails getByRepairId(String s); RepairAuditDetails getByRepairId(String s);
List<RepairRecord> getGyoupRepairRecord(RepairAuditDetails byRepairId); List<RepairRecord> getGyoupRepairRecord(RepairAuditDetails byRepairId);
/**
* 报废任务审核
* @param applyDetails
* @return
*/
int updateStatus(ScrapApplyDetails applyDetails);
} }

View File

@ -1,6 +1,8 @@
package com.bonus.material.scrap.service; package com.bonus.material.scrap.service;
import java.util.List; import java.util.List;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.scrap.domain.ScrapApplyDetails; import com.bonus.material.scrap.domain.ScrapApplyDetails;
import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo;
@ -67,4 +69,18 @@ public interface IScrapApplyDetailsService {
* @return 结果 * @return 结果
*/ */
public int deleteScrapApplyDetailsById(Long id); public int deleteScrapApplyDetailsById(Long id);
/**
* 报废审核通过
* @param scrapApplyDetails
* @return
*/
AjaxResult approve(ScrapApplyDetails scrapApplyDetails);
/**
* 报废审核驳回
* @param scrapApplyDetails
* @return
*/
AjaxResult reject(ScrapApplyDetails scrapApplyDetails);
} }

View File

@ -1,16 +1,25 @@
package com.bonus.material.scrap.service.impl; package com.bonus.material.scrap.service.impl;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.biz.enums.RepairInputStatusEnum;
import com.bonus.common.biz.enums.ScrapTaskStatusEnum;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo;
import org.springframework.beans.factory.annotation.Autowired; import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.bonus.material.scrap.mapper.ScrapApplyDetailsMapper; import com.bonus.material.scrap.mapper.ScrapApplyDetailsMapper;
import com.bonus.material.scrap.domain.ScrapApplyDetails; import com.bonus.material.scrap.domain.ScrapApplyDetails;
import com.bonus.material.scrap.service.IScrapApplyDetailsService; import com.bonus.material.scrap.service.IScrapApplyDetailsService;
import javax.annotation.Resource;
/** /**
* 报废任务详细Service业务层处理 * 报废任务详细Service业务层处理
* *
@ -19,9 +28,12 @@ import com.bonus.material.scrap.service.IScrapApplyDetailsService;
*/ */
@Service @Service
public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService {
@Autowired @Resource
private ScrapApplyDetailsMapper scrapApplyDetailsMapper; private ScrapApplyDetailsMapper scrapApplyDetailsMapper;
@Resource
private TmTaskMapper taskMapper;
/** /**
* 查询报废任务详细 * 查询报废任务详细
* *
@ -108,4 +120,92 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService {
public int deleteScrapApplyDetailsById(Long id) { public int deleteScrapApplyDetailsById(Long id) {
return scrapApplyDetailsMapper.deleteScrapApplyDetailsById(id); return scrapApplyDetailsMapper.deleteScrapApplyDetailsById(id);
} }
/**
* 报废审核通过
* @param scrapApplyDetails
* @return
*/
@Override
public AjaxResult approve(ScrapApplyDetails scrapApplyDetails) {
// TODO: 报废审核二级页面通过
int result = 0;
if (scrapApplyDetails != null) {
if (scrapApplyDetails.getId() != null) {
scrapApplyDetails.setStatus("1");
scrapApplyDetails.setAuditBy(SecurityUtils.getUserId());
scrapApplyDetails.setAuditTime(DateUtils.getNowDate());
result = scrapApplyDetailsMapper.updateStatus(scrapApplyDetails);
if (result > 0) {
updateTaskStatus(scrapApplyDetails);
}
} else if (CollectionUtils.isNotEmpty(scrapApplyDetails.getScrapApplyDetailsList())) {
for (ScrapApplyDetails applyDetails : scrapApplyDetails.getScrapApplyDetailsList()) {
applyDetails.setStatus("1");
applyDetails.setAuditBy(SecurityUtils.getUserId());
applyDetails.setAuditTime(DateUtils.getNowDate());
result = scrapApplyDetailsMapper.updateStatus(applyDetails);
}
if (result > 0) {
updateTaskStatus(scrapApplyDetails.getScrapApplyDetailsList().get(0));
}
// TODO: 报废审核一级页面通过
} else if (CollectionUtils.isNotEmpty(scrapApplyDetails.getScrapTaskListVoList())) {
for (ScrapTaskListVo taskListVo : scrapApplyDetails.getScrapTaskListVoList()) {
// 根据任务id 查询任务详情
ScrapApplyDetails applyDetails = new ScrapApplyDetails();
applyDetails.setTaskId(taskListVo.getTaskId());
List<ScrapApplyDetails> scrapApplyDetailsList = scrapApplyDetailsMapper.selectRepairQuestListByTaskId(applyDetails);
// 将集合中status为0的筛选出来
List<ScrapApplyDetails> applyDetailsList = scrapApplyDetailsList.stream().filter(applyDetails1 -> "0".equals(applyDetails1.getStatus())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(applyDetailsList)) {
for (ScrapApplyDetails applyDetails1 : applyDetailsList) {
applyDetails1.setStatus("1");
applyDetails1.setAuditBy(SecurityUtils.getUserId());
applyDetails1.setAuditTime(DateUtils.getNowDate());
result = scrapApplyDetailsMapper.updateStatus(applyDetails1);
}
}
if (result > 0) {
updateTaskStatus(applyDetails);
}
}
}
}
if (result > 0) {
return AjaxResult.success("审核通过");
}
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
* 更新任务状态
* @param scrapApplyDetails
*/
private void updateTaskStatus(ScrapApplyDetails scrapApplyDetails) {
List<ScrapApplyDetails> list = scrapApplyDetailsMapper.selectRepairQuestListByTaskId(scrapApplyDetails);
List<Integer> statusList = list.stream()
.map(scrapApplyDetail -> Integer.parseInt(scrapApplyDetail.getStatus()))
.collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(statusList)) {
if (!statusList.contains(ScrapTaskStatusEnum.SCRAP_TASK_NO_FINISHED.getStatus()) &&
statusList.contains(ScrapTaskStatusEnum.SCRAP_TASK_TO_REJECT.getStatus())) {
taskMapper.updateTaskStatus(scrapApplyDetails.getTaskId().toString(), ScrapTaskStatusEnum.SCRAP_TASK_TO_REJECT.getStatus());
} else if (!statusList.contains(ScrapTaskStatusEnum.SCRAP_TASK_NO_FINISHED.getStatus()) &&
!statusList.contains(ScrapTaskStatusEnum.SCRAP_TASK_TO_REJECT.getStatus()) &&
statusList.stream().allMatch(status -> status.equals(ScrapTaskStatusEnum.SCRAP_TASK_IN_FINISHED.getStatus()))) {
taskMapper.updateTaskStatus(scrapApplyDetails.getTaskId().toString(), ScrapTaskStatusEnum.SCRAP_TASK_IN_FINISHED.getStatus());
}
}
}
/**
* 报废审核驳回
* @param scrapApplyDetails
* @return
*/
@Override
public AjaxResult reject(ScrapApplyDetails scrapApplyDetails) {
return null;
}
} }

View File

@ -34,12 +34,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectScrapApplyDetailsList" parameterType="com.bonus.material.scrap.domain.ScrapApplyDetails" resultType="com.bonus.material.scrap.domain.vo.ScrapTaskListVo"> <select id="selectScrapApplyDetailsList" parameterType="com.bonus.material.scrap.domain.ScrapApplyDetails" resultType="com.bonus.material.scrap.domain.vo.ScrapTaskListVo">
SELECT SELECT
sad.task_id, sad.create_by, sad.create_time,sad.update_time,sad.company_id, sad.task_id as taskId, sad.create_by, sad.create_time as createTime,sad.update_time,sad.company_id,
tt.`code` AS scrapCode, tt2.`code` as repairCode ,tt.task_status AS taskStatus,tt.task_type as taskType,tt.company_id AS companyId,tt.remark, tt.`code` AS scrapCode, tt2.`code` as repairCode ,tt.task_status AS taskStatus,tt.task_type as taskType,tt.company_id AS companyId,tt.remark,
bui.unit_name AS backUnit, bui.unit_name AS backUnit,
bpi.pro_name AS backPro, bpi.pro_name AS backPro,
su.nick_name AS createName, su.nick_name AS createName,
GROUP_CONCAT(DISTINCT mt2.type_name) as type tta.agreement_id as agreementId,
GROUP_CONCAT(DISTINCT mt2.type_name) as type,
CASE tt.task_status
when 0 then '报废审核进行中'
when 1 then '报废审核通过'
when 2 then '报废审核驳回'
else '未知'
END as taskStatusName
FROM FROM
scrap_apply_details sad scrap_apply_details sad
LEFT JOIN ma_type mt on sad.type_id = mt.type_id LEFT JOIN ma_type mt on sad.type_id = mt.type_id
@ -52,22 +59,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_user su on sad.create_by = su.user_id left join sys_user su on sad.create_by = su.user_id
left join repair_audit_details rad ON sad.parent_id = rad.id left join repair_audit_details rad ON sad.parent_id = rad.id
left join tm_task tt2 ON tt2.task_id = rad.task_id left join tm_task tt2 ON tt2.task_id = rad.task_id
<!-- <where> --> <where>
<!-- <if test="taskId != null "> and task_id = #{taskId}</if>--> <if test="typeId != null "> and type_id = #{typeId}</if>
<!-- <if test="parentId != null "> and parent_id = #{parentId}</if>--> <if test="scrapNum != null "> and scrap_num = #{scrapNum}</if>
<!-- <if test="maId != null "> and ma_id = #{maId}</if>--> <if test="scrapSource != null and scrapSource != ''"> and scrap_source = #{scrapSource}</if>
<!-- <if test="typeId != null "> and type_id = #{typeId}</if>--> <if test="scrapType != null and scrapType != ''"> and scrap_type = #{scrapType}</if>
<!-- <if test="scrapNum != null "> and scrap_num = #{scrapNum}</if>--> <if test="status != null and status != ''"> and status = #{status}</if>
<!-- <if test="scrapSource != null and scrapSource != ''"> and scrap_source = #{scrapSource}</if>--> <if test="auditBy != null "> and audit_by = #{auditBy}</if>
<!-- <if test="scrapType != null and scrapType != ''"> and scrap_type = #{scrapType}</if>--> <if test="taskStatus != null "> and tt.task_status = #{taskStatus}</if>
<!-- <if test="status != null and status != ''"> and status = #{status}</if>--> <if test="keyWord != null and keyWord != ''">
<!-- <if test="auditBy != null "> and audit_by = #{auditBy}</if>--> and (
<!-- <if test="auditTime != null "> and audit_time = #{auditTime}</if>--> bui.unit_name like concat('%', #{keyWord}, '%') or
<!-- <if test="auditRemark != null and auditRemark != ''"> and audit_remark = #{auditRemark}</if>--> bpi.pro_name like concat('%', #{keyWord}, '%') or
<!-- <if test="companyId != null "> and company_id = #{companyId}</if>--> tt.`code` like concat('%', #{keyWord}, '%') or
<!-- <if test="fileName != null and fileName != ''"> and file_name like concat('%', #{fileName}, '%')</if>--> tt2.`code` like concat('%', #{keyWord}, '%') or
<!-- <if test="fileUrl != null and fileUrl != ''"> and file_url = #{fileUrl}</if>--> tt.remark like concat('%', #{keyWord}, '%') or
<!-- </where>--> su.nick_name like concat('%', #{keyWord}, '%') or
)
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
<![CDATA[and DATE_FORMAT( sad.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
</if>
</where>
GROUP BY sad.task_id,bui.unit_name,bpi.pro_name,su.nick_name GROUP BY sad.task_id,bui.unit_name,bpi.pro_name,su.nick_name
order by tt.create_time desc order by tt.create_time desc
</select> </select>
@ -77,25 +90,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectRepairQuestListByTaskId" resultType="com.bonus.material.scrap.domain.ScrapApplyDetails"> <select id="selectRepairQuestListByTaskId" resultType="com.bonus.material.scrap.domain.ScrapApplyDetails">
select select
sad.id as id,sad.task_id as taskId,sad.parent_id,sad.ma_id as maId, sad.id as id,sad.task_id as taskId,sad.parent_id,sad.ma_id as maId,
sad.scrap_source,sad.scrap_type, sad.status as status,
sad.status as status,ifnull(sad.scrap_num,0) as scrapNum, sad.scrap_source,sad.scrap_type,ifnull(sad.scrap_num,0) as scrapNum,
sad.audit_by,sad.audit_remark,sad.audit_time, sad.audit_by,sad.audit_remark,sad.audit_time as auditTime,
sad.update_time as updateTime,sad.type_id as typeId, sad.update_time as updateTime,sad.type_id as typeId,
sad.create_by,sad.create_time,sad.file_name,sad.file_url, sad.create_by,sad.create_time,sad.file_name,sad.file_url,
mt2.type_name as typeName,mt2.type_id as typeNameId, mt2.type_name as typeName,mt2.type_id as typeNameId,
mt.type_name as type,mt.unit_name as unitName,mt.manage_type as manageType, mt.type_name as type,mt.unit_name as unitName,mt.manage_type as manageType,
mm.ma_code as code, mm.ma_code as code,
su.nick_name as scraper su.nick_name as scraper,
CASE sad.status
when 0 then '报废审核进行中'
when 1 then '报废审核通过'
when 2 then '报废审核驳回'
else '未知'
END as statusName
from from
scrap_apply_details sad scrap_apply_details sad
left join ma_type mt on sad.type_id = mt.type_id left join ma_type mt on sad.type_id = mt.type_id
left join ma_machine mm on mm.ma_id = sad.ma_id left join ma_machine mm on mm.ma_id = sad.ma_id
left join sys_user su on sad.create_by = su.user_id left join sys_user su on sad.create_by = su.user_id
left join ma_type mt2 on mt.parent_id = mt2.type_id left join ma_type mt2 on mt.parent_id = mt2.type_id
where where
sad.task_id = #{taskId} sad.task_id = #{taskId}
GROUP BY sad.id GROUP BY sad.id
order by sad.create_time desc order by sad.create_time desc
</select> </select>
@ -177,6 +194,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id} where id = #{id}
</update> </update>
<update id="updateStatus">
update scrap_apply_details
set status = #{status},
audit_by = #{auditBy},
audit_time = #{auditTime}
where id = #{id}
</update>
<delete id="deleteScrapApplyDetailsById" parameterType="Long"> <delete id="deleteScrapApplyDetailsById" parameterType="Long">
delete from scrap_apply_details where id = #{id} delete from scrap_apply_details where id = #{id}
</delete> </delete>