feat:添加设备及模具驳回操作

main
HuangHuiKang 2 days ago
parent 70627b54d3
commit 33e6c3650a

@ -14,8 +14,7 @@ public enum MoldRecordStatusEnum {
PENDING(0, "待完成"),
COMPLETED(1, "已完成"),
// 可以根据需要添加其他状态
CANCELED(2, "已取消");
REJECTED(2, "已驳回");
@JsonValue
private final Integer code;
@ -33,4 +32,4 @@ public enum MoldRecordStatusEnum {
}
return null;
}
}
}

@ -56,7 +56,7 @@ public class MoldRepairPageReqVO extends PageParam {
@Schema(description = "维修结果")
private String repairResult;
@Schema(description = "维修人员")
@Schema(description = "维修人员,传单个用户 ID 可匹配多选记录")
private String acceptedBy;
@Schema(description = "报修人员")

@ -24,6 +24,9 @@ public class MoldRepairPageRespVO {
@Schema(description = "已完成数量 (status=1)")
private Long finishedCount;
@Schema(description = "已驳回数量 (status=2)")
private Long rejectedCount;
@Schema(description = "待维修数量 (repairStatus=0)")
private Long pendingRepairCount;

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 模具维修记录驳回 Req VO")
@Data
public class MoldRepairRejectReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27809")
@NotNull(message = "ID 不能为空")
private Long id;
@Schema(description = "驳回理由", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "驳回理由不能为空")
private String rejectReason;
}

@ -74,7 +74,7 @@ public class MoldRepairRespVO {
@ExcelProperty("维修结果")
private String repairResult;
@Schema(description = "维修人员")
@Schema(description = "维修人员,多个用户 ID 用逗号分隔")
@ExcelProperty("维修人员")
private String acceptedBy;
@ -100,6 +100,16 @@ public class MoldRepairRespVO {
@ExcelProperty("备注")
private String remark;
@Schema(description = "驳回理由")
private String rejectReason;
@Schema(description = "驳回时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime rejectTime;
@Schema(description = "驳回人")
private String rejectBy;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
@ColumnWidth(20)

@ -63,7 +63,7 @@ public class MoldRepairSaveReqVO {
@Schema(description = "维修结果")
private String repairStatus;
@Schema(description = "维修人员")
@Schema(description = "维修人员,多个用户 ID 用逗号分隔")
private String acceptedBy;
@Schema(description = "报修人员")

@ -102,6 +102,21 @@ public class MoldRepairDO extends BaseDO {
*/
private String remark;
/**
*
*/
private String rejectReason;
/**
*
*/
private LocalDateTime rejectTime;
/**
*
*/
private String rejectBy;
/**
* 1- 2-
*/

@ -40,7 +40,6 @@ public interface MoldRepairMapper extends BaseMapperX<MoldRepairDO> {
.betweenIfPresent(MoldRepairDO::getConfirmDate, reqVO.getConfirmDate())
.eqIfPresent(MoldRepairDO::getRepairStatus, reqVO.getRepairStatus())
.eqIfPresent(MoldRepairDO::getRepairResult, reqVO.getRepairResult())
.eqIfPresent(MoldRepairDO::getAcceptedBy, reqVO.getAcceptedBy())
.eqIfPresent(MoldRepairDO::getRepairReporter, reqVO.getRepairReporter())
.eqIfPresent(MoldRepairDO::getConfirmBy, reqVO.getConfirmBy())
.eqIfPresent(MoldRepairDO::getStatus, reqVO.getStatus())
@ -56,6 +55,14 @@ public interface MoldRepairMapper extends BaseMapperX<MoldRepairDO> {
.collect(Collectors.toList());
moldRepairDOLambdaQueryWrapperX.in(MoldRepairDO::getId, idList);
}
if (StringUtils.isNotBlank(reqVO.getAcceptedBy())) {
String acceptedBy = reqVO.getAcceptedBy().trim();
moldRepairDOLambdaQueryWrapperX.and(wrapper -> wrapper
.eq(MoldRepairDO::getAcceptedBy, acceptedBy)
.or().likeRight(MoldRepairDO::getAcceptedBy, acceptedBy + ",")
.or().like(MoldRepairDO::getAcceptedBy, "," + acceptedBy + ",")
.or().likeLeft(MoldRepairDO::getAcceptedBy, "," + acceptedBy));
}
return selectPage(reqVO,moldRepairDOLambdaQueryWrapperX );
}

@ -14,7 +14,8 @@ public enum MoldBrandStatusEnum implements IntArrayValuable {
STANDBY(1, "待用"),
REPAIRING(2, "维修"),
SCRAPPED(3, "报废"),
IN_STOCK(4, "在库");
IN_STOCK(4, "在库"),
OUTSOURCED(5, "外发");
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(MoldBrandStatusEnum::getStatus).toArray();

@ -29,4 +29,7 @@ public class MoldBrandPageRespVO {
@Schema(description = "报废数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
private Long scrappedCount;
@Schema(description = "外发数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
private Long outsourcedCount;
}

@ -25,4 +25,7 @@ public class MoldBrandStatusStatisticsRespVO {
@Schema(description = "报废数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
private Long scrappedCount;
@Schema(description = "外发数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
private Long outsourcedCount;
}

@ -236,6 +236,7 @@ public class MoldBrandServiceImpl implements MoldBrandService {
respVO.setInStockCount(statistics.getInStockCount());
respVO.setRepairingCount(statistics.getRepairingCount());
respVO.setScrappedCount(statistics.getScrappedCount());
respVO.setOutsourcedCount(statistics.getOutsourcedCount());
return respVO;
}
@ -254,6 +255,7 @@ public class MoldBrandServiceImpl implements MoldBrandService {
respVO.setInStockCount(countByStatus(list, MoldBrandStatusEnum.IN_STOCK.getStatus()));
respVO.setRepairingCount(countByStatus(list, MoldBrandStatusEnum.REPAIRING.getStatus()));
respVO.setScrappedCount(countByStatus(list, MoldBrandStatusEnum.SCRAPPED.getStatus()));
respVO.setOutsourcedCount(countByStatus(list, MoldBrandStatusEnum.OUTSOURCED.getStatus()));
return respVO;
}

@ -118,8 +118,7 @@ public class DvRepairController {
List<DvRepairRespVO> dvRepairRespVOList = BeanUtils.toBean(list, DvRepairRespVO.class);
for (DvRepairRespVO dvSubjectRespVO : dvRepairRespVOList) {
if (dvSubjectRespVO.getAcceptedBy() !=null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvSubjectRespVO.getAcceptedBy()));
dvSubjectRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
dvSubjectRespVO.setAcceptedBy(buildUserNames(dvSubjectRespVO.getAcceptedBy()));
}
if (dvSubjectRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvSubjectRespVO.getRepairReporter()));
@ -179,6 +178,14 @@ public class DvRepairController {
return success(true);
}
@PutMapping("/reject")
@Operation(summary = "驳回设备维修记录")
@PreAuthorize("@ss.hasPermission('mes:dv-repair:update')")
public CommonResult<Boolean> rejectDvRepair(@Valid @RequestBody DvRepairRejectReqVO rejectReqVO) {
dvRepairService.rejectDvRepair(rejectReqVO);
return success(true);
}
@PutMapping("/batchUpdate")
@Operation(summary = "批量更新维修检验结果")
@ -235,10 +242,7 @@ public class DvRepairController {
private PageResult<DvRepairRespVO> buildCreatorName(PageResult<DvRepairRespVO> dvSubjectRespVOPageResult) {
for (DvRepairRespVO dvSubjectRespVO : dvSubjectRespVOPageResult.getList()) {
if (dvSubjectRespVO.getAcceptedBy() !=null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvSubjectRespVO.getAcceptedBy()));
if (user !=null ){
dvSubjectRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
}
dvSubjectRespVO.setAcceptedBy(buildUserNames(dvSubjectRespVO.getAcceptedBy()));
}
if (dvSubjectRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvSubjectRespVO.getRepairReporter()));
@ -252,6 +256,12 @@ public class DvRepairController {
dvSubjectRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
if (dvSubjectRespVO.getRejectBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvSubjectRespVO.getRejectBy()));
if (user != null) {
dvSubjectRespVO.setRejectBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
}
return dvSubjectRespVOPageResult;
@ -260,10 +270,7 @@ public class DvRepairController {
private List<DvRepairRespVO> buildCreatorName(List<DvRepairRespVO> dvRepairRespVOList) {
for (DvRepairRespVO dvRepairRespVO : dvRepairRespVOList) {
if (dvRepairRespVO.getAcceptedBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvRepairRespVO.getAcceptedBy()));
if (user != null) {
dvRepairRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
}
dvRepairRespVO.setAcceptedBy(buildUserNames(dvRepairRespVO.getAcceptedBy()));
}
if (dvRepairRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvRepairRespVO.getRepairReporter()));
@ -277,9 +284,37 @@ public class DvRepairController {
dvRepairRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
if (dvRepairRespVO.getRejectBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(dvRepairRespVO.getRejectBy()));
if (user != null) {
dvRepairRespVO.setRejectBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
}
return dvRepairRespVOList;
}
private String buildUserNames(String userIds) {
if (userIds == null || userIds.trim().isEmpty()) {
return userIds;
}
return Arrays.stream(userIds.split(","))
.map(String::trim)
.filter(userId -> !userId.isEmpty())
.map(this::buildUserName)
.collect(Collectors.joining(","));
}
private String buildUserName(String userId) {
try {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(userId));
if (user != null) {
return "(" + user.getUsername() + ")" + user.getNickname();
}
} catch (NumberFormatException ignored) {
}
return userId;
}
}

@ -14,8 +14,7 @@ public enum MoldRecordStatusEnum {
PENDING(0, "待完成"),
COMPLETED(1, "已完成"),
// 可以根据需要添加其他状态
CANCELED(2, "已取消");
REJECTED(2, "已驳回");
@JsonValue
private final Integer code;
@ -33,4 +32,4 @@ public enum MoldRecordStatusEnum {
}
return null;
}
}
}

@ -16,7 +16,8 @@ import java.util.stream.Collectors;
public enum RepairStatusEnum {
PENDING(0, "待完成"),
COMPLETED(1, "已完成");
COMPLETED(1, "已完成"),
REJECTED(2, "已驳回");
private final Integer code;
private final String description;
@ -84,4 +85,4 @@ public enum RepairStatusEnum {
}
return map;
}
}
}

@ -60,7 +60,7 @@ public class DvRepairPageReqVO extends PageParam {
@Schema(description = "故障等级 1-一般 2-严重 3-紧急", example = "1")
private Integer faultLevel;
@Schema(description = "维修人员")
@Schema(description = "维修人员,传单个用户 ID 可匹配多选记录")
private String acceptedBy;
@Schema(description = "报修人员")

@ -24,6 +24,9 @@ public class DvRepairPageRespVO {
@Schema(description = "已完成数量 (status=1)")
private Long finishedCount;
@Schema(description = "已驳回数量 (status=2)")
private Long rejectedCount;
@Schema(description = "待维修数量 (repairStatus=0)")
private Long pendingRepairCount;

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.mes.controller.admin.dvrepair.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 设备维修记录驳回 Req VO")
@Data
public class DvRepairRejectReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27809")
@NotNull(message = "ID 不能为空")
private Long id;
@Schema(description = "驳回理由", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "驳回理由不能为空")
private String rejectReason;
}

@ -124,7 +124,7 @@ public class DvRepairRespVO {
@Schema(description = "维修后图片,多个用逗号分隔")
private String repairedImages;
@Schema(description = "维修人员")
@Schema(description = "维修人员,多个用户 ID 用逗号分隔")
@ExcelProperty("维修人员")
private String acceptedBy;
@ -147,6 +147,18 @@ public class DvRepairRespVO {
// @ExcelProperty("备注")
private String remark;
@Schema(description = "驳回理由")
private String rejectReason;
@Schema(description = "驳回时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
private LocalDateTime rejectTime;
@Schema(description = "驳回人")
private String rejectBy;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
@ColumnWidth(20)

@ -90,7 +90,7 @@ public class DvRepairSaveReqVO {
@Schema(description = "维修后图片,多个用逗号分隔")
private String repairedImages;
@Schema(description = "维修人员")
@Schema(description = "维修人员,多个用户 ID 用逗号分隔")
private String acceptedBy;
@Schema(description = "报修人员")

@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairL
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairUpdateReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.*;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.enums.MoldRecordStatusEnum;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.mes.service.moldrepair.MoldRepairService;
@ -119,8 +120,7 @@ public class MoldRepairController {
List<MoldRepairRespVO> moldRepairRespVOList = BeanUtils.toBean(list, MoldRepairRespVO.class);
for (MoldRepairRespVO moldSubjectRespVO : moldRepairRespVOList) {
if (moldSubjectRespVO.getAcceptedBy() !=null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldSubjectRespVO.getAcceptedBy()));
moldSubjectRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
moldSubjectRespVO.setAcceptedBy(buildUserNames(moldSubjectRespVO.getAcceptedBy()));
}
if (moldSubjectRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldSubjectRespVO.getRepairReporter()));
@ -133,8 +133,8 @@ public class MoldRepairController {
moldSubjectRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
if (moldSubjectRespVO.getStatus() !=null) {
moldSubjectRespVO.setStatusName(moldSubjectRespVO.getStatus() != null ?
(moldSubjectRespVO.getStatus() == 0 ? "待完成" : "已完成") : null);
MoldRecordStatusEnum statusEnum = MoldRecordStatusEnum.getByCode(moldSubjectRespVO.getStatus());
moldSubjectRespVO.setStatusName(statusEnum != null ? statusEnum.getName() : null);
}
if (moldSubjectRespVO.getRepairStatus() !=null) {
moldSubjectRespVO.setRepairStatusName(moldSubjectRespVO.getRepairStatus() != null ?
@ -172,6 +172,14 @@ public class MoldRepairController {
return success(true);
}
@PutMapping("/reject")
@Operation(summary = "驳回模具维修记录")
@PreAuthorize("@ss.hasPermission('mes:mold-repair:update')")
public CommonResult<Boolean> rejectMoldRepair(@Valid @RequestBody MoldRepairRejectReqVO rejectReqVO) {
moldRepairService.rejectMoldRepair(rejectReqVO);
return success(true);
}
@PutMapping("/batchUpdate")
@Operation(summary = "批量更新维修检验结果")
@ -224,10 +232,7 @@ public class MoldRepairController {
private PageResult<MoldRepairRespVO> buildCreatorName(PageResult<MoldRepairRespVO> moldSubjectRespVOPageResult) {
for (MoldRepairRespVO moldSubjectRespVO : moldSubjectRespVOPageResult.getList()) {
if (moldSubjectRespVO.getAcceptedBy() !=null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldSubjectRespVO.getAcceptedBy()));
if (user!=null) {
moldSubjectRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
}
moldSubjectRespVO.setAcceptedBy(buildUserNames(moldSubjectRespVO.getAcceptedBy()));
}
if (moldSubjectRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldSubjectRespVO.getRepairReporter()));
@ -241,6 +246,12 @@ public class MoldRepairController {
moldSubjectRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
if (moldSubjectRespVO.getRejectBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldSubjectRespVO.getRejectBy()));
if (user != null) {
moldSubjectRespVO.setRejectBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
}
return moldSubjectRespVOPageResult;
@ -249,10 +260,7 @@ public class MoldRepairController {
private List<MoldRepairRespVO> buildCreatorName(List<MoldRepairRespVO> moldRepairRespVOList) {
for (MoldRepairRespVO moldRepairRespVO : moldRepairRespVOList) {
if (moldRepairRespVO.getAcceptedBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldRepairRespVO.getAcceptedBy()));
if (user != null) {
moldRepairRespVO.setAcceptedBy("(" + user.getUsername() + ")" + user.getNickname());
}
moldRepairRespVO.setAcceptedBy(buildUserNames(moldRepairRespVO.getAcceptedBy()));
}
if (moldRepairRespVO.getRepairReporter() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldRepairRespVO.getRepairReporter()));
@ -266,9 +274,37 @@ public class MoldRepairController {
moldRepairRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
if (moldRepairRespVO.getRejectBy() != null) {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(moldRepairRespVO.getRejectBy()));
if (user != null) {
moldRepairRespVO.setRejectBy("(" + user.getUsername() + ")" + user.getNickname());
}
}
}
return moldRepairRespVOList;
}
private String buildUserNames(String userIds) {
if (userIds == null || userIds.trim().isEmpty()) {
return userIds;
}
return Arrays.stream(userIds.split(","))
.map(String::trim)
.filter(userId -> !userId.isEmpty())
.map(this::buildUserName)
.collect(Collectors.joining(","));
}
private String buildUserName(String userId) {
try {
AdminUserRespDTO user = adminUserApi.getUser(Long.valueOf(userId));
if (user != null) {
return "(" + user.getUsername() + ")" + user.getNickname();
}
} catch (NumberFormatException ignored) {
}
return userId;
}
}

@ -158,6 +158,21 @@ public class DvRepairDO extends BaseDO {
*/
private String remark;
/**
*
*/
private String rejectReason;
/**
*
*/
private LocalDateTime rejectTime;
/**
*
*/
private String rejectBy;
/**
* 1- 2-
*/

@ -50,7 +50,6 @@ public interface DvRepairMapper extends BaseMapperX<DvRepairDO> {
.betweenIfPresent(DvRepairDO::getFinishDate, reqVO.getFinishDate())
.betweenIfPresent(DvRepairDO::getConfirmDate, reqVO.getConfirmDate())
.eqIfPresent(DvRepairDO::getRepairResult, reqVO.getRepairResult())
.eqIfPresent(DvRepairDO::getAcceptedBy, reqVO.getAcceptedBy())
.eqIfPresent(DvRepairDO::getRepairReporter, reqVO.getRepairReporter())
.eqIfPresent(DvRepairDO::getConfirmBy, reqVO.getConfirmBy())
.eqIfPresent(DvRepairDO::getStatus, reqVO.getStatus())
@ -67,6 +66,14 @@ public interface DvRepairMapper extends BaseMapperX<DvRepairDO> {
.collect(Collectors.toList());
dvRepairDOLambdaQueryWrapperX.in(DvRepairDO::getId, idList);
}
if (StringUtils.isNotBlank(reqVO.getAcceptedBy())) {
String acceptedBy = reqVO.getAcceptedBy().trim();
dvRepairDOLambdaQueryWrapperX.and(wrapper -> wrapper
.eq(DvRepairDO::getAcceptedBy, acceptedBy)
.or().likeRight(DvRepairDO::getAcceptedBy, acceptedBy + ",")
.or().like(DvRepairDO::getAcceptedBy, "," + acceptedBy + ",")
.or().likeLeft(DvRepairDO::getAcceptedBy, "," + acceptedBy));
}
return selectPage(reqVO,dvRepairDOLambdaQueryWrapperX );
}

@ -76,6 +76,8 @@ public interface DvRepairService {
void updateDvRepairStatus(@Valid DvRepirUpdateReqVO updateReqVO);
void rejectDvRepair(@Valid DvRepairRejectReqVO rejectReqVO);
List<DvRepairDO> getRepairListByDeviceId(Long deviceId, String code, String startTime, String endTime, String ids);
Long getRepairListCountByRepairStatus();

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.erp.controller.admin.autocode.util.AutoCodeUtil;
import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO;
import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairResultEnum;
@ -101,7 +102,7 @@ public class DvRepairServiceImpl implements DvRepairService {
templateParams.put("createTime", formatNotifyDateTime(
dvRepair.getCreateTime() != null ? dvRepair.getCreateTime() : LocalDateTime.now()));
mesNotifyMessageService.sendToAdmin(dvRepair.getAcceptedBy(), DV_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE,
mesNotifyMessageService.sendToAdmins(dvRepair.getAcceptedBy(), DV_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE,
templateParams, "设备维修单", dvRepair.getId());
}
@ -228,6 +229,7 @@ public class DvRepairServiceImpl implements DvRepairService {
respVO.setAllCount((long) allList.size());
respVO.setPendingCount(allList.stream().filter(item -> item.getStatus() != null && item.getStatus() == 0).count());
respVO.setFinishedCount(allList.stream().filter(item -> item.getStatus() != null && item.getStatus() == 1).count());
respVO.setRejectedCount(allList.stream().filter(item -> RepairStatusEnum.REJECTED.getCode().equals(item.getStatus())).count());
respVO.setPendingRepairCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 0).count());
respVO.setPassedCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 1).count());
respVO.setFailedCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 2).count());
@ -346,6 +348,22 @@ public class DvRepairServiceImpl implements DvRepairService {
}
@Override
public void rejectDvRepair(DvRepairRejectReqVO rejectReqVO) {
DvRepairDO dvRepairDO = dvRepairMapper.selectById(rejectReqVO.getId());
if (dvRepairDO == null) {
throw exception(DV_REPAIR_NOT_EXISTS);
}
dvRepairDO.setStatus(RepairStatusEnum.REJECTED.getCode());
dvRepairDO.setRejectReason(rejectReqVO.getRejectReason());
dvRepairDO.setRejectTime(LocalDateTime.now());
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
if (loginUserId != null) {
dvRepairDO.setRejectBy(String.valueOf(loginUserId));
}
dvRepairMapper.updateById(dvRepairDO);
}
@Override
public List<DvRepairDO> getRepairListByDeviceId(Long deviceId, String code, String startTime, String endTime, String ids) {
DeviceLedgerDO deviceLedgerDO = getDeviceByIdOrCode(deviceId, code);

@ -76,6 +76,8 @@ public interface MoldRepairService {
void updateMoldRepairStatus(@Valid MoldRepairUpdateReqVO updateReqVO);
void rejectMoldRepair(@Valid MoldRepairRejectReqVO rejectReqVO);
List<MoldRepairLineRespVO> getRepairListByMoldId(Long moldId, String code, String startTime, String endTime, String ids);
Long getRepairListCountByRepairStatus();

@ -3,9 +3,11 @@ package cn.iocoder.yudao.module.mes.service.moldrepair;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.enums.MoldRecordStatusEnum;
import cn.iocoder.yudao.module.common.enums.MoldBrandStatusEnum;
import cn.iocoder.yudao.module.erp.controller.admin.autocode.util.AutoCodeUtil;
import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard.EventStatisticsVO;
@ -13,6 +15,7 @@ import cn.iocoder.yudao.module.common.controller.admin.moldrepair.enums.RepairRe
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineRespVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairUpdateReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRejectReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairPageReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairSaveReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRespVO;
@ -114,7 +117,7 @@ public class MoldRepairServiceImpl implements MoldRepairService {
templateParams.put("createTime", formatNotifyDateTime(
moldRepair.getCreateTime() != null ? moldRepair.getCreateTime() : LocalDateTime.now()));
mesNotifyMessageService.sendToAdmin(moldRepair.getAcceptedBy(), MOLD_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE,
mesNotifyMessageService.sendToAdmins(moldRepair.getAcceptedBy(), MOLD_REPAIR_CREATE_NOTIFY_TEMPLATE_CODE,
templateParams, "模具维修单", moldRepair.getId());
}
@ -195,6 +198,7 @@ public class MoldRepairServiceImpl implements MoldRepairService {
respVO.setAllCount((long) allList.size());
respVO.setPendingCount(allList.stream().filter(item -> item.getStatus() != null && item.getStatus() == 0).count());
respVO.setFinishedCount(allList.stream().filter(item -> item.getStatus() != null && item.getStatus() == 1).count());
respVO.setRejectedCount(allList.stream().filter(item -> MoldRecordStatusEnum.REJECTED.getCode().equals(item.getStatus())).count());
respVO.setPendingRepairCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 0).count());
respVO.setPassedCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 1).count());
respVO.setFailedCount(allList.stream().filter(item -> item.getRepairStatus() != null && item.getRepairStatus() == 2).count());
@ -315,6 +319,22 @@ public class MoldRepairServiceImpl implements MoldRepairService {
}
@Override
public void rejectMoldRepair(MoldRepairRejectReqVO rejectReqVO) {
MoldRepairDO moldRepairDO = moldRepairMapper.selectById(rejectReqVO.getId());
if (moldRepairDO == null) {
throw exception(MOLD_REPAIR_NOT_EXISTS);
}
moldRepairDO.setStatus(MoldRecordStatusEnum.REJECTED.getCode());
moldRepairDO.setRejectReason(rejectReqVO.getRejectReason());
moldRepairDO.setRejectTime(LocalDateTime.now());
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
if (loginUserId != null) {
moldRepairDO.setRejectBy(String.valueOf(loginUserId));
}
moldRepairMapper.updateById(moldRepairDO);
}
@Override
public List<MoldRepairLineRespVO> getRepairListByMoldId(Long moldId, String code, String startTime, String endTime, String ids) {
MoldBrandDO moldDO = getMoldByIdOrCode(moldId, code);

Loading…
Cancel
Save