fix:修改模具组维护点检/维护新增接口

main
HuangHuiKang 1 week ago
parent 7e9b743544
commit d6879bb617

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldplanmaintenance.vo;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldsubject.MoldSubjectDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@ -36,7 +37,10 @@ public class MoldPlanMaintenanceRespVO extends BaseDO {
@Schema(description = "项目集合ids")
private List<Long> subjectIds;
@Schema(description = "项目集合")
private List<MoldSubjectDO> subjectList;
@Schema(description = "创建人名字")
@ExcelProperty("创建人名字")
private String creatorName;
}
}

@ -1,11 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldtaskmanagement.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo.MoldTicketResultsSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 模具任务管理直接创建工单 Request VO")
@Data
@ -46,4 +49,8 @@ public class MoldTaskManagementCreateTicketReqVO {
@Schema(description = "是否启用")
private Boolean enabled;
@Schema(description = "工单检验结果集合,可直接传入创建")
@Valid
private List<MoldTicketResultsSaveReqVO> ticketResultsList;
}

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.dal.dataobject.moldplanmaintenance;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldsubject.MoldSubjectDO;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
@ -45,4 +46,10 @@ public class MoldPlanMaintenanceDO extends BaseDO {
*/
@TableField(exist = false)
private List<Long> subjectIds;
}
/**
*
*/
@TableField(exist = false)
private List<MoldSubjectDO> subjectList;
}

@ -158,12 +158,18 @@ public class MoldPlanMaintenanceServiceImpl implements MoldPlanMaintenanceServic
PageResult<MoldPlanMaintenanceDO> moldplanMaintenanceDOPageResult = moldplanMaintenanceMapper.selectPage(pageReqVO);
for (MoldPlanMaintenanceDO moldplanMaintenanceDO : moldplanMaintenanceDOPageResult.getList()) {
List<Long> ids = new ArrayList<>();
List<MoldSubjectDO> subjectList = new ArrayList<>();
List<SubjectMoldPlanDO> subjectMoldPlanDOList = subjectMoldPlanMapper.selectList(Wrappers.<SubjectMoldPlanDO>lambdaQuery()
.eq(SubjectMoldPlanDO::getPlanId, moldplanMaintenanceDO.getId()));
for (SubjectMoldPlanDO subjectMoldPlanDO : subjectMoldPlanDOList) {
ids.add(subjectMoldPlanDO.getSubjectId());
MoldSubjectDO moldSubjectDO = moldSubjectMapper.selectById(subjectMoldPlanDO.getSubjectId());
if (moldSubjectDO != null) {
subjectList.add(moldSubjectDO);
}
}
moldplanMaintenanceDO.setSubjectIds(ids);
moldplanMaintenanceDO.setSubjectList(subjectList);
}
@ -189,4 +195,4 @@ public class MoldPlanMaintenanceServiceImpl implements MoldPlanMaintenanceServic
return moldSubjectDOList;
}
}
}

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.service.moldtaskmanagement;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo.MoldTicketResultsSaveReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketmanagement.MoldTicketManagementDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO;
@ -31,6 +32,7 @@ import java.time.LocalDate;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Random;
import java.util.stream.Collectors;
@ -126,22 +128,31 @@ public class MoldTaskManagementServiceImpl implements MoldTaskManagementService
}
createMoldTicketInternal(moldtaskManagementDO.getId(), moldtaskManagementDO.getProjectForm(),
moldtaskManagementDO.getTaskType(), moldtaskManagementDO.getName(),
moldtaskManagementDO.getEndDate(), moldtaskManagementDO.getMoldList());
moldtaskManagementDO.getEndDate(), moldtaskManagementDO.getMoldList(), null);
}
@Override
public void createMoldTicketDirect(MoldTaskManagementCreateTicketReqVO createReqVO) {
createMoldTicketInternal(createReqVO.getId(), createReqVO.getProjectForm(), createReqVO.getTaskType(),
createReqVO.getName(), createReqVO.getEndDate()!=null?LocalDate.parse(createReqVO.getEndDate()):null, createReqVO.getMoldList());
createReqVO.getName(), createReqVO.getEndDate()!=null?LocalDate.parse(createReqVO.getEndDate()):null,
createReqVO.getMoldList(), createReqVO.getTicketResultsList());
}
private void createMoldTicketInternal(Long taskId, Long planId, Integer taskType, String configName,
LocalDate endDate, String moldList) {
LocalDate endDate, String moldList,
List<MoldTicketResultsSaveReqVO> ticketResultsList) {
List<Long> moldIds = Arrays.stream(moldList.split(","))
.map(String::trim)
.map(Long::valueOf)
.collect(Collectors.toList());
List<SubjectMoldPlanDO> subjectmoldPlanDOList = subjectmoldPlanMapper.selectList(
Wrappers.<SubjectMoldPlanDO>lambdaQuery().eq(SubjectMoldPlanDO::getPlanId, planId));
List<MoldSubjectDO> moldSubjectDOList = subjectmoldPlanDOList.stream()
.map(subjectmoldPlanDO -> moldSubjectMapper.selectById(subjectmoldPlanDO.getSubjectId()))
.filter(Objects::nonNull)
.collect(Collectors.toList());
for (Long moldId : moldIds) {
MoldBrandDO moldDO = moldBrandMapper.selectById(moldId);
@ -155,11 +166,8 @@ public class MoldTaskManagementServiceImpl implements MoldTaskManagementService
moldticketManagementDO.setTaskEndTime(endDate !=null ? endDate.atStartOfDay(): null);
moldticketManagementMapper.insert(moldticketManagementDO);
List<SubjectMoldPlanDO> subjectmoldPlanDOList = subjectmoldPlanMapper.selectList(
Wrappers.<SubjectMoldPlanDO>lambdaQuery().eq(SubjectMoldPlanDO::getPlanId, planId));
for (SubjectMoldPlanDO subjectmoldPlanDO : subjectmoldPlanDOList) {
MoldSubjectDO moldSubjectDO = moldSubjectMapper.selectById(subjectmoldPlanDO.getSubjectId());
for (int index = 0; index < moldSubjectDOList.size(); index++) {
MoldSubjectDO moldSubjectDO = moldSubjectDOList.get(index);
MoldTicketResultsDO moldticketResultsDO = new MoldTicketResultsDO();
moldticketResultsDO.setInspectionItemName(moldSubjectDO.getSubjectName());
moldticketResultsDO.setInspectionMethod(moldSubjectDO.getInspectionMethod());
@ -167,11 +175,58 @@ public class MoldTaskManagementServiceImpl implements MoldTaskManagementService
moldticketResultsDO.setManagementId(moldticketManagementDO.getId());
moldticketResultsDO.setMoldId(moldId);
moldticketResultsDO.setValueType(moldSubjectDO.getValueType());
mergeTicketResultData(moldticketResultsDO,
findMatchedTicketResult(ticketResultsList, moldSubjectDO.getSubjectName(), index));
moldticketResultsMapper.insert(moldticketResultsDO);
}
}
}
private MoldTicketResultsSaveReqVO findMatchedTicketResult(List<MoldTicketResultsSaveReqVO> ticketResultsList,
String subjectName, int index) {
if (CollectionUtils.isEmpty(ticketResultsList)) {
return null;
}
for (MoldTicketResultsSaveReqVO ticketResults : ticketResultsList) {
if (ticketResults != null && subjectName != null
&& subjectName.equals(ticketResults.getInspectionItemName())) {
return ticketResults;
}
}
return index < ticketResultsList.size() ? ticketResultsList.get(index) : null;
}
private void mergeTicketResultData(MoldTicketResultsDO moldticketResultsDO,
MoldTicketResultsSaveReqVO ticketResults) {
if (ticketResults == null) {
return;
}
if (ticketResults.getInspectionMethod() != null) {
moldticketResultsDO.setInspectionMethod(ticketResults.getInspectionMethod());
}
if (ticketResults.getJudgmentCriteria() != null) {
moldticketResultsDO.setJudgmentCriteria(ticketResults.getJudgmentCriteria());
}
if (ticketResults.getInspectionResult() != null) {
moldticketResultsDO.setInspectionResult(ticketResults.getInspectionResult());
}
if (ticketResults.getImages() != null) {
moldticketResultsDO.setImages(ticketResults.getImages());
}
if (ticketResults.getRemark() != null) {
moldticketResultsDO.setRemark(ticketResults.getRemark());
}
if (ticketResults.getInspectionTime() != null) {
moldticketResultsDO.setInspectionTime(ticketResults.getInspectionTime());
}
if (ticketResults.getValueType() != null) {
moldticketResultsDO.setValueType(ticketResults.getValueType());
}
if (ticketResults.getTextInput() != null) {
moldticketResultsDO.setTextInput(ticketResults.getTextInput());
}
}
public static String generatePrefixedOrderNo() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String date = sdf.format(new Date());

Loading…
Cancel
Save