|
|
|
|
@ -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());
|
|
|
|
|
|