退料任务修改
This commit is contained in:
parent
13697d5b71
commit
2443181865
|
|
@ -157,6 +157,11 @@ public class IncomingInspectionTaskControllerService {
|
|||
}
|
||||
|
||||
private void applyReturnSingle(ExternalReturnInspectionApplyQO request) {
|
||||
boolean exists = returnInspectionTaskService.lambdaQuery()
|
||||
.eq(QmsReturnInspectionTask::getRequestNo, request.getRequestNo())
|
||||
.exists();
|
||||
VUtil.trueThrowBusinessError(exists).throwMessage("请勿重复发起任务");
|
||||
|
||||
QmsQcMaterial material = qcMaterialService.lambdaQuery()
|
||||
.eq(QmsQcMaterial::getMaterialNo, request.getMaterialNo())
|
||||
.orderByDesc(QmsQcMaterial::getId)
|
||||
|
|
@ -173,9 +178,19 @@ public class IncomingInspectionTaskControllerService {
|
|||
.last("LIMIT 1")
|
||||
.one();
|
||||
|
||||
String materialCategoryCode = material.getMaterialCategoryCode();
|
||||
VUtil.trueThrowBusinessError(StrUtil.isBlank(materialCategoryCode))
|
||||
.throwMessage("物料未配置物料类别,无法发起退料检测任务");
|
||||
QmsQcMaterialCategory materialCategory = qcMaterialCategoryService.lambdaQuery()
|
||||
.eq(QmsQcMaterialCategory::getCategoryCode, materialCategoryCode)
|
||||
.last("LIMIT 1")
|
||||
.one();
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(materialCategory))
|
||||
.throwMessage("物料类别不存在,无法发起退料检测任务");
|
||||
Long materialCategoryId = materialCategory.getId();
|
||||
QmsQualityInspector inspector = Objects.nonNull(standard)
|
||||
? resolveInspector(material)
|
||||
: resolveInspectorByMaterialCategoryId(request.getMaterialCategoryId());
|
||||
: resolveInspectorByMaterialCategoryId(materialCategoryId);
|
||||
User inspectorUser = userService.getById(inspector.getUserId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(inspectorUser)).throwMessage("检测人对应用户不存在");
|
||||
|
||||
|
|
@ -198,7 +213,7 @@ public class IncomingInspectionTaskControllerService {
|
|||
.setInspectionStandardId(Objects.nonNull(standard) ? standard.getId() : null)
|
||||
.setTestingMethodDictItemId(RETURN_INSPECTION_FULL_TESTING_METHOD_ID)
|
||||
.setMaterialId(material.getId())
|
||||
.setMaterialCategoryId(request.getMaterialCategoryId())
|
||||
.setMaterialCategoryId(materialCategoryId)
|
||||
.setInspectionQty(request.getInspectionQty())
|
||||
.setQualifiedQty(0)
|
||||
.setUnqualifiedQty(0)
|
||||
|
|
|
|||
|
|
@ -399,7 +399,7 @@ public class QmsReturnInspectionTaskControllerService {
|
|||
|
||||
for (QmsReturnInspectionTaskResultQO request : taskRequests) {
|
||||
validateDetails(task, request, submit);
|
||||
QmsReturnInspectionTaskRecord oldRecord = getOldRecord(request.getTaskId(), request.getMaterialUniqueNo());
|
||||
QmsReturnInspectionTaskRecord oldRecord = getOldRecord(request.getTaskId(), request.getMaterialUniqueNo(), request.getBatchNo());
|
||||
replaceRecord(task, oldRecord, request);
|
||||
}
|
||||
|
||||
|
|
@ -421,7 +421,11 @@ public class QmsReturnInspectionTaskControllerService {
|
|||
private void validateDuplicateRequests(List<QmsReturnInspectionTaskResultQO> requests) {
|
||||
Set<String> keys = new HashSet<>();
|
||||
for (QmsReturnInspectionTaskResultQO request : requests) {
|
||||
String key = request.getTaskId() + "#" + StrUtil.blankToDefault(request.getMaterialUniqueNo(), "__NULL__");
|
||||
String key = request.getTaskId()
|
||||
+ "#"
|
||||
+ StrUtil.blankToDefault(request.getMaterialUniqueNo(), "__NULL__")
|
||||
+ "#"
|
||||
+ StrUtil.blankToDefault(request.getBatchNo(), "__NULL__");
|
||||
VUtil.trueThrowBusinessError(!keys.add(key)).throwMessage("Duplicate material result exists in the same task");
|
||||
}
|
||||
}
|
||||
|
|
@ -493,7 +497,7 @@ public class QmsReturnInspectionTaskControllerService {
|
|||
}
|
||||
}
|
||||
|
||||
private QmsReturnInspectionTaskRecord getOldRecord(Long taskId, String materialUniqueNo) {
|
||||
private QmsReturnInspectionTaskRecord getOldRecord(Long taskId, String materialUniqueNo, String batchNo) {
|
||||
return returnInspectionTaskRecordService.lambdaQuery()
|
||||
.eq(QmsReturnInspectionTaskRecord::getTaskId, taskId)
|
||||
.and(wrapper -> {
|
||||
|
|
@ -503,6 +507,13 @@ public class QmsReturnInspectionTaskControllerService {
|
|||
wrapper.eq(QmsReturnInspectionTaskRecord::getMaterialUniqueNo, materialUniqueNo);
|
||||
}
|
||||
})
|
||||
.and(wrapper -> {
|
||||
if (StrUtil.isBlank(batchNo)) {
|
||||
wrapper.isNull(QmsReturnInspectionTaskRecord::getBatchNo);
|
||||
} else {
|
||||
wrapper.eq(QmsReturnInspectionTaskRecord::getBatchNo, batchNo);
|
||||
}
|
||||
})
|
||||
.last("LIMIT 1")
|
||||
.one();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.nflg.wms.repository.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("qms_return_inspection_task_record_details")
|
||||
public class QmsReturnInspectionTaskRecordDetails implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
private Long recordId;
|
||||
private Long inspectionStandardItemContentId;
|
||||
private String remark;
|
||||
private BigDecimal measuredValue;
|
||||
private Boolean qualified;
|
||||
private String imageIds;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskTodoSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsReturnInspectionTaskVO;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTask;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
public interface QmsReturnInspectionTaskMapper extends BaseMapper<QmsReturnInspectionTask> {
|
||||
|
||||
IPage<QmsReturnInspectionTaskVO> search(@Param("request") QmsReturnInspectionTaskSearchQO request, Page<Object> page);
|
||||
|
||||
IPage<QmsReturnInspectionTaskVO> todoSearch(@Param("request") QmsReturnInspectionTaskTodoSearchQO request,
|
||||
Page<Object> page,
|
||||
@Param("inspectorId") Long inspectorId,
|
||||
@Param("userId") Long userId);
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecordDetails;
|
||||
|
||||
public interface QmsReturnInspectionTaskRecordDetailsMapper extends BaseMapper<QmsReturnInspectionTaskRecordDetails> {
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecord;
|
||||
|
||||
public interface QmsReturnInspectionTaskRecordMapper extends BaseMapper<QmsReturnInspectionTaskRecord> {
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecordDetails;
|
||||
|
||||
public interface IQmsReturnInspectionTaskRecordDetailsService extends IService<QmsReturnInspectionTaskRecordDetails> {
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecord;
|
||||
|
||||
public interface IQmsReturnInspectionTaskRecordService extends IService<QmsReturnInspectionTaskRecord> {
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskTodoSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsReturnInspectionTaskVO;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTask;
|
||||
|
||||
public interface IQmsReturnInspectionTaskService extends IService<QmsReturnInspectionTask> {
|
||||
|
||||
IPage<QmsReturnInspectionTaskVO> search(QmsReturnInspectionTaskSearchQO request);
|
||||
|
||||
IPage<QmsReturnInspectionTaskVO> todoSearch(QmsReturnInspectionTaskTodoSearchQO request, Long inspectorId, Long userId);
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecordDetails;
|
||||
import com.nflg.wms.repository.mapper.QmsReturnInspectionTaskRecordDetailsMapper;
|
||||
import com.nflg.wms.repository.service.IQmsReturnInspectionTaskRecordDetailsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class QmsReturnInspectionTaskRecordDetailsServiceImpl extends ServiceImpl<QmsReturnInspectionTaskRecordDetailsMapper, QmsReturnInspectionTaskRecordDetails>
|
||||
implements IQmsReturnInspectionTaskRecordDetailsService {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTaskRecord;
|
||||
import com.nflg.wms.repository.mapper.QmsReturnInspectionTaskRecordMapper;
|
||||
import com.nflg.wms.repository.service.IQmsReturnInspectionTaskRecordService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class QmsReturnInspectionTaskRecordServiceImpl extends ServiceImpl<QmsReturnInspectionTaskRecordMapper, QmsReturnInspectionTaskRecord>
|
||||
implements IQmsReturnInspectionTaskRecordService {
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsReturnInspectionTaskTodoSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsReturnInspectionTaskVO;
|
||||
import com.nflg.wms.repository.entity.QmsReturnInspectionTask;
|
||||
import com.nflg.wms.repository.mapper.QmsReturnInspectionTaskMapper;
|
||||
import com.nflg.wms.repository.service.IQmsReturnInspectionTaskService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class QmsReturnInspectionTaskServiceImpl extends ServiceImpl<QmsReturnInspectionTaskMapper, QmsReturnInspectionTask>
|
||||
implements IQmsReturnInspectionTaskService {
|
||||
|
||||
@Override
|
||||
public IPage<QmsReturnInspectionTaskVO> search(QmsReturnInspectionTaskSearchQO request) {
|
||||
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<QmsReturnInspectionTaskVO> todoSearch(QmsReturnInspectionTaskTodoSearchQO request, Long inspectorId, Long userId) {
|
||||
return baseMapper.todoSearch(request, new Page<>(request.getPage(), request.getPageSize()), inspectorId, userId);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue