Compare commits
5 Commits
0da38080ca
...
9542751147
| Author | SHA1 | Date |
|---|---|---|
|
|
9542751147 | |
|
|
049ff61c24 | |
|
|
6362d6ed7e | |
|
|
1a933353a3 | |
|
|
3fd457cdb6 |
|
|
@ -8,13 +8,11 @@ import com.nflg.wms.common.pojo.qo.*;
|
|||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCountVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO;
|
||||
import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecord;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -114,14 +112,14 @@ public class QmsIncomingInspectionTaskController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 暂存检验结果
|
||||
*/
|
||||
@PostMapping("pad/staging")
|
||||
public ApiResult<Void> staging(@Valid @RequestBody QmsIncomingInspectionTaskSubmitQO request){
|
||||
incomingInspectionTaskControllerService.staging(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
// /**
|
||||
// * 暂存检验结果
|
||||
// */
|
||||
// @PostMapping("pad/staging")
|
||||
// public ApiResult<Void> staging(@Valid @RequestBody QmsIncomingInspectionTaskSubmitQO request){
|
||||
// incomingInspectionTaskControllerService.staging(request);
|
||||
// return ApiResult.success();
|
||||
// }
|
||||
|
||||
/**
|
||||
* 提交检验结果
|
||||
|
|
|
|||
|
|
@ -756,16 +756,10 @@ public class IncomingInspectionTaskControllerService {
|
|||
List<QmsIncomingInspectionTaskCheckItemVO> datas = inspectionStandardService.getItemsForCheck(standard.getId());
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("未设置检验项目");
|
||||
Integer count = incomingInspectionTaskRecordService.getCount(task.getId());
|
||||
Integer total;
|
||||
if (Objects.equals(standard.getTestingMethodDictItemId(), dictionaryItemService.getIdByCode("InspectionStandardTestingMethod", "Full"))) {
|
||||
total = task.getInspectionQty();
|
||||
} else {
|
||||
total = getCountOfSampling(task.getId(), task.getInspectionQty(), standard);
|
||||
}
|
||||
VUtil.trueThrowBusinessError(count > total).throwMessage("样本数量不能大于总数量");
|
||||
VUtil.trueThrowBusinessError(count > task.getDetectionQty()).throwMessage("样本数量不能大于总数量");
|
||||
return new QmsIncomingInspectionTaskCheckDetailVO()
|
||||
.setItems(datas)
|
||||
.setCount(total - count)
|
||||
.setCount(Math.min(task.getDetectionQty() - count, request.getNum()))
|
||||
.setPdfDrawings(
|
||||
inspectionStandardItemService.lambdaQuery()
|
||||
.select(QmsInspectionStandardItem::getPdfDrawing)
|
||||
|
|
@ -812,6 +806,18 @@ public class IncomingInspectionTaskControllerService {
|
|||
|
||||
@Transactional
|
||||
public void submitCheckItem(QmsIncomingInspectionTaskTodoCheckSubmitQO request) {
|
||||
QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
|
||||
VUtil.trueThrowBusinessError(task.getInspectionStatus() == 2).throwMessage("该任务已完成");
|
||||
VUtil.trueThrowBusinessError(incomingInspectionTaskRecordService.lambdaQuery()
|
||||
.eq(QmsIncomingInspectionTaskRecord::getTaskId, request.getTaskId())
|
||||
.eq(QmsIncomingInspectionTaskRecord::getMaterialUniqueNo, request.getMaterialUniqueNo())
|
||||
.exists()
|
||||
).throwMessage("该物料已检验过");
|
||||
Integer inspectedQty = incomingInspectionTaskService.getInspectedQty(task.getId());
|
||||
VUtil.trueThrowBusinessError(request.getInspectionQty() > (task.getDetectionQty() - inspectedQty))
|
||||
.throwMessage("超出总检验数量");
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
Long userId = UserUtil.getUserId();
|
||||
String userName = UserUtil.getUserName();
|
||||
|
|
@ -892,20 +898,6 @@ public class IncomingInspectionTaskControllerService {
|
|||
if (!updateDatas.isEmpty()) {
|
||||
incomingInspectionTaskRecordItemDataService.updateBatchById(updateDatas);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 暂存检验结果
|
||||
* 1. 根据任务ID查询所有样本记录
|
||||
* 2. 计算合格数量和不合格数量
|
||||
* 3. 更新任务的合格数量、不合格数量、检验结果
|
||||
* 4. 如果检验开始时间为空,则更新检验开始时间
|
||||
*/
|
||||
@Transactional
|
||||
public void staging(QmsIncomingInspectionTaskSubmitQO request) {
|
||||
QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
|
||||
|
||||
// 查询该任务下所有检验记录
|
||||
List<QmsIncomingInspectionTaskRecord> records = incomingInspectionTaskRecordService.lambdaQuery()
|
||||
.eq(QmsIncomingInspectionTaskRecord::getTaskId, request.getTaskId())
|
||||
|
|
@ -915,51 +907,72 @@ public class IncomingInspectionTaskControllerService {
|
|||
int qualifiedQty = records.stream()
|
||||
.map(QmsIncomingInspectionTaskRecord::getQualifiedQty)
|
||||
.reduce(0, Integer::sum);
|
||||
task.setQualifiedQty(qualifiedQty);
|
||||
int unqualifiedQty = records.stream()
|
||||
.map(QmsIncomingInspectionTaskRecord::getUnqualifiedQty)
|
||||
.reduce(0, Integer::sum);
|
||||
|
||||
Long userId = UserUtil.getUserId();
|
||||
String userName = UserUtil.getUserName();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
|
||||
// 构建更新对象
|
||||
var updateWrapper = incomingInspectionTaskService.lambdaUpdate()
|
||||
.eq(QmsIncomingInspectionTask::getId, request.getTaskId())
|
||||
.ne(QmsIncomingInspectionTask::getInspectionStatus, 2)
|
||||
.set(QmsIncomingInspectionTask::getQualifiedQty, qualifiedQty)
|
||||
.set(QmsIncomingInspectionTask::getUnqualifiedQty, unqualifiedQty)
|
||||
.set(QmsIncomingInspectionTask::getInspectionResult, request.getQualified())
|
||||
.set(QmsIncomingInspectionTask::getUpdateUserId, userId)
|
||||
.set(QmsIncomingInspectionTask::getUpdateUserName, userName)
|
||||
.set(QmsIncomingInspectionTask::getUpdateTime, now);
|
||||
|
||||
// 如果检验开始时间为空,则更新检验开始时间
|
||||
task.setUnqualifiedQty(unqualifiedQty);
|
||||
if (Objects.isNull(task.getInspectionStartTime())) {
|
||||
updateWrapper.set(QmsIncomingInspectionTask::getInspectionStartTime, request.getInspectionStartTime());
|
||||
updateWrapper.set(QmsIncomingInspectionTask::getInspectionStatus, 1);
|
||||
task.setInspectionStartTime(request.getInspectionStartTime());
|
||||
}
|
||||
task.setInspectionStatus((short) 1);
|
||||
incomingInspectionTaskService.updateById(task);
|
||||
}
|
||||
|
||||
updateWrapper.update();
|
||||
}
|
||||
// /**
|
||||
// * 暂存检验结果
|
||||
// * 1. 根据任务ID查询所有样本记录
|
||||
// * 2. 计算合格数量和不合格数量
|
||||
// * 3. 更新任务的合格数量、不合格数量、检验结果
|
||||
// * 4. 如果检验开始时间为空,则更新检验开始时间
|
||||
// */
|
||||
// @Transactional
|
||||
// public void staging(QmsIncomingInspectionTaskSubmitQO request) {
|
||||
// QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
|
||||
// VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
|
||||
//
|
||||
// // 查询该任务下所有检验记录
|
||||
// List<QmsIncomingInspectionTaskRecord> records = incomingInspectionTaskRecordService.lambdaQuery()
|
||||
// .eq(QmsIncomingInspectionTaskRecord::getTaskId, request.getTaskId())
|
||||
// .list();
|
||||
//
|
||||
// // 计算合格数量和不合格数量
|
||||
// int qualifiedQty = records.stream()
|
||||
// .map(QmsIncomingInspectionTaskRecord::getQualifiedQty)
|
||||
// .reduce(0, Integer::sum);
|
||||
// int unqualifiedQty = records.stream()
|
||||
// .map(QmsIncomingInspectionTaskRecord::getUnqualifiedQty)
|
||||
// .reduce(0, Integer::sum);
|
||||
//
|
||||
// Long userId = UserUtil.getUserId();
|
||||
// String userName = UserUtil.getUserName();
|
||||
// LocalDateTime now = LocalDateTime.now();
|
||||
//
|
||||
// // 构建更新对象
|
||||
// var updateWrapper = incomingInspectionTaskService.lambdaUpdate()
|
||||
// .eq(QmsIncomingInspectionTask::getId, request.getTaskId())
|
||||
// .ne(QmsIncomingInspectionTask::getInspectionStatus, 2)
|
||||
// .set(QmsIncomingInspectionTask::getQualifiedQty, qualifiedQty)
|
||||
// .set(QmsIncomingInspectionTask::getUnqualifiedQty, unqualifiedQty)
|
||||
// .set(QmsIncomingInspectionTask::getInspectionResult, request.getQualified())
|
||||
// .set(QmsIncomingInspectionTask::getUpdateUserId, userId)
|
||||
// .set(QmsIncomingInspectionTask::getUpdateUserName, userName)
|
||||
// .set(QmsIncomingInspectionTask::getUpdateTime, now);
|
||||
//
|
||||
// // 如果检验开始时间为空,则更新检验开始时间
|
||||
// if (Objects.isNull(task.getInspectionStartTime())) {
|
||||
// updateWrapper.set(QmsIncomingInspectionTask::getInspectionStartTime, request.getInspectionStartTime());
|
||||
// updateWrapper.set(QmsIncomingInspectionTask::getInspectionStatus, 1);
|
||||
// }
|
||||
//
|
||||
// updateWrapper.update();
|
||||
// }
|
||||
|
||||
@Transactional
|
||||
public void submit(@Valid QmsIncomingInspectionTaskSubmitQO request) {
|
||||
QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
|
||||
|
||||
// 查询该任务下所有检验记录
|
||||
List<QmsIncomingInspectionTaskRecord> records = incomingInspectionTaskRecordService.lambdaQuery()
|
||||
.eq(QmsIncomingInspectionTaskRecord::getTaskId, request.getTaskId())
|
||||
.list();
|
||||
|
||||
// 计算合格数量和不合格数量
|
||||
int qualifiedQty = records.stream()
|
||||
.map(QmsIncomingInspectionTaskRecord::getQualifiedQty)
|
||||
.reduce(0, Integer::sum);
|
||||
int unqualifiedQty = records.stream()
|
||||
.map(QmsIncomingInspectionTaskRecord::getUnqualifiedQty)
|
||||
.reduce(0, Integer::sum);
|
||||
VUtil.trueThrowBusinessError(task.getInspectionStatus() == 2).throwMessage("该任务已完成");
|
||||
|
||||
Long userId = UserUtil.getUserId();
|
||||
String userName = UserUtil.getUserName();
|
||||
|
|
@ -969,8 +982,6 @@ public class IncomingInspectionTaskControllerService {
|
|||
var updateWrapper = incomingInspectionTaskService.lambdaUpdate()
|
||||
.eq(QmsIncomingInspectionTask::getId, request.getTaskId())
|
||||
.ne(QmsIncomingInspectionTask::getInspectionStatus, 2)
|
||||
.set(QmsIncomingInspectionTask::getQualifiedQty, qualifiedQty)
|
||||
.set(QmsIncomingInspectionTask::getUnqualifiedQty, unqualifiedQty)
|
||||
.set(QmsIncomingInspectionTask::getInspectionResult, request.getQualified())
|
||||
.set(QmsIncomingInspectionTask::getInspectionStatus, 2)
|
||||
.set(QmsIncomingInspectionTask::getInspectionFinishTime, LocalDateTime.now())
|
||||
|
|
@ -978,11 +989,6 @@ public class IncomingInspectionTaskControllerService {
|
|||
.set(QmsIncomingInspectionTask::getUpdateUserName, userName)
|
||||
.set(QmsIncomingInspectionTask::getUpdateTime, now);
|
||||
|
||||
// 如果检验开始时间为空,则更新检验开始时间
|
||||
if (Objects.isNull(task.getInspectionStartTime())) {
|
||||
updateWrapper.set(QmsIncomingInspectionTask::getInspectionStartTime, request.getInspectionStartTime());
|
||||
}
|
||||
|
||||
updateWrapper.update();
|
||||
|
||||
if (task.getInspectionResult()) {
|
||||
|
|
|
|||
|
|
@ -19,10 +19,4 @@ public class QmsIncomingInspectionTaskSubmitQO {
|
|||
*/
|
||||
@NotNull(message = "检验结果不能为空")
|
||||
private Boolean qualified;
|
||||
|
||||
/**
|
||||
* 检验开始时间
|
||||
*/
|
||||
@NotNull(message = "检验开始时间不能为空")
|
||||
private LocalDateTime inspectionStartTime;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
|
|
@ -21,9 +23,15 @@ public class QmsIncomingInspectionTaskTodoCheckSubmitQO {
|
|||
/**
|
||||
* 物料唯一编号
|
||||
*/
|
||||
@NotNull(message = "物料唯一编号不能为空")
|
||||
@NotBlank(message = "物料唯一编号不能为空")
|
||||
private String materialUniqueNo;
|
||||
|
||||
/**
|
||||
* 检验开始时间
|
||||
*/
|
||||
@NotNull(message = "检验开始时间不能为空")
|
||||
private LocalDateTime inspectionStartTime;
|
||||
|
||||
/**
|
||||
* 样本数量
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -37,6 +37,11 @@ public class QmsIncomingInspectionTaskVO {
|
|||
*/
|
||||
private String drawingNoVer;
|
||||
|
||||
/**
|
||||
* 物料规格
|
||||
*/
|
||||
private String materialSpecifications;
|
||||
|
||||
/**
|
||||
* 检验标准id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@
|
|||
t.callback_result,
|
||||
t.warehouse,
|
||||
t.storage_days,
|
||||
t.storage_location
|
||||
t.storage_location,
|
||||
t.detection_qty
|
||||
FROM qms_incoming_inspection_task t
|
||||
LEFT JOIN qms_qc_material m ON t.material_id = m.id
|
||||
LEFT JOIN qms_inspection_standard s ON t.inspection_standard_id = s.id
|
||||
|
|
@ -177,13 +178,13 @@
|
|||
</select>
|
||||
|
||||
<select id="getDetail" resultType="com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO">
|
||||
SELECT
|
||||
t.id,
|
||||
SELECT t.id,
|
||||
t.task_no,
|
||||
t.material_id,
|
||||
m.material_no,
|
||||
m.material_desc,
|
||||
m.drawing_no_ver,
|
||||
m.material_specifications,
|
||||
t.inspection_standard_id,
|
||||
s.version AS standard_version,
|
||||
t.supplier_code,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
<mapper namespace="com.nflg.wms.repository.mapper.QmsIncomingInspectionTaskRecordMapper">
|
||||
|
||||
<select id="getCount" resultType="java.lang.Integer">
|
||||
SELECT SUM(count) FROM qms_incoming_inspection_task_record WHERE task_id=#{taskId}
|
||||
SELECT COALESCE(SUM(inspection_qty),0) FROM qms_incoming_inspection_task_record WHERE task_id=#{taskId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue