|
|
|
|
@ -94,7 +94,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
vo.setOrderInfo(taskListVO); |
|
|
|
|
// todo:
|
|
|
|
|
RemindMsg msg1 = new RemindMsg(); |
|
|
|
|
msg1.setRemindContent("提醒信息-AAAA"); |
|
|
|
|
msg1.setRemindContent("提醒信息-" + System.currentTimeMillis()); |
|
|
|
|
List<RemindMsg> msgList = new ArrayList<>(); |
|
|
|
|
msgList.add(msg1); |
|
|
|
|
vo.setRemindMsgList(msgList); |
|
|
|
|
@ -153,16 +153,32 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Transactional |
|
|
|
|
public R<InspectionTask> startNew(InspectionTaskStartNew start) { |
|
|
|
|
public R startNew(InspectionTaskStartNew start) { |
|
|
|
|
// todo:check工单有效性
|
|
|
|
|
|
|
|
|
|
// todo:check工序有效性
|
|
|
|
|
|
|
|
|
|
// todo:check制品有效性
|
|
|
|
|
addTask(InspectionTaskConst.FROM_TYPE_RB); |
|
|
|
|
addTask(InspectionTaskConst.FROM_TYPE_SJ); |
|
|
|
|
// 最终返回R
|
|
|
|
|
return R.success("成功生成检测任务!"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void addTask(Integer fromType) { |
|
|
|
|
// 新建 InspectionTask
|
|
|
|
|
InspectionTask task = new InspectionTask(); |
|
|
|
|
task.setId(null); |
|
|
|
|
task.setStatus(InspectionTaskConst.CHECK_RESULT_TODO); |
|
|
|
|
// todo: fake data
|
|
|
|
|
task.setWoId(2002227460172464129L); |
|
|
|
|
// todo: fake data
|
|
|
|
|
task.setWoCode("WO-N251233302-R001"); |
|
|
|
|
// todo: fake data
|
|
|
|
|
task.setWpId(2002227460206018562L); |
|
|
|
|
// 接收时间为空
|
|
|
|
|
task.setReceiveDate(null); |
|
|
|
|
task.setFromType(fromType); |
|
|
|
|
// 新插入 Task
|
|
|
|
|
save(task); |
|
|
|
|
// 查询工序用到的,所有启用的检验项目。
|
|
|
|
|
@ -176,7 +192,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
if (itemList == null || itemList.isEmpty()) { |
|
|
|
|
return R.fail("没有关联的检测项目!"); |
|
|
|
|
// return R.fail("没有关联的检测项目!");
|
|
|
|
|
} |
|
|
|
|
// 创建关联的 WorkPlanItem 集合。
|
|
|
|
|
for (InspectionItem iItem : itemList) { |
|
|
|
|
@ -207,10 +223,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 最终返回R
|
|
|
|
|
R<InspectionTask> rFinal = R.success("成功生成检测任务!"); |
|
|
|
|
rFinal.setData(task); |
|
|
|
|
return rFinal; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@ -218,23 +230,26 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
// 更新 Task
|
|
|
|
|
updateById(detailVO); |
|
|
|
|
for (WorkPlanItemVO wpItemVO : detailVO.getWpItemList()) { |
|
|
|
|
WorkPlanItem wpItem = new WorkPlanItem(); |
|
|
|
|
BeanUtil.copyProperties(wpItemVO, wpItem); |
|
|
|
|
if (!InspectionTaskConst.CHECK_RESULT_TODO.equals(wpItem.getCheckResult())) { |
|
|
|
|
WorkPlanItem wpItemDB = wpItemService.getById(wpItemVO.getId()); |
|
|
|
|
if (InspectionTaskConst.CHECK_RESULT_TODO.equals(wpItemDB.getCheckResult()) && |
|
|
|
|
!InspectionTaskConst.CHECK_RESULT_TODO.equals(wpItemVO.getCheckResult())) { // 数据库中是待检测的,新传入数据不是待检测的。
|
|
|
|
|
// copy from VO
|
|
|
|
|
BeanUtil.copyProperties(wpItemVO, wpItemDB); |
|
|
|
|
BladeUser bu = AuthUtil.getUser(); |
|
|
|
|
if (bu != null) { |
|
|
|
|
log.info("bu = {}", bu); |
|
|
|
|
wpItem.setCheckUserId(bu.getUserId()); |
|
|
|
|
// 赋值 质检员
|
|
|
|
|
wpItemDB.setCheckUserId(bu.getUserId()); |
|
|
|
|
} |
|
|
|
|
wpItem.setCheckDate(LocalDateTime.now()); |
|
|
|
|
// 赋值 质检时间
|
|
|
|
|
wpItemDB.setCheckDate(LocalDateTime.now()); |
|
|
|
|
} |
|
|
|
|
// 更新 WorkPlanItem
|
|
|
|
|
wpItemService.updateById(wpItem); |
|
|
|
|
wpItemService.updateById(wpItemDB); |
|
|
|
|
//
|
|
|
|
|
for (WorkPlanItemDetailVO wpItemDetailVO : wpItemVO.getWpItemDetailList()) { |
|
|
|
|
WorkPlanItemDetail wpItemDetail = new WorkPlanItemDetail(); |
|
|
|
|
BeanUtil.copyProperties(wpItemDetailVO, wpItemDetail); |
|
|
|
|
wpItemDetail.setWorkPlanItemId(wpItem.getId()); |
|
|
|
|
wpItemDetail.setWorkPlanItemId(wpItemDB.getId()); |
|
|
|
|
if (IdUtil.isValid(wpItemDetail.getId())) { |
|
|
|
|
// 更新 WorkPlanItemDetail
|
|
|
|
|
wpItemDetailService.updateById(wpItemDetail); |
|
|
|
|
@ -252,9 +267,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
@Override |
|
|
|
|
public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) { |
|
|
|
|
List<InspectionTaskListVO> listVO = baseMapper.listSearch(page, search); |
|
|
|
|
//
|
|
|
|
|
for (InspectionTaskListVO oneVO : listVO) { |
|
|
|
|
refreshStatusAndQty(oneVO.getId()); |
|
|
|
|
setListVOValue(oneVO); |
|
|
|
|
} |
|
|
|
|
return page.setRecords(listVO); |
|
|
|
|
@ -265,11 +278,22 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
// LambdaQueryWrapper<InspectionTask> qw = Wrappers.lambdaQuery();
|
|
|
|
|
// todo: 需要生产支持
|
|
|
|
|
// qw.eq(InspectionTask::getId, 2010909559614988290L);
|
|
|
|
|
List<InspectionTask> list = baseMapper.selectList(null).subList(0, 2); |
|
|
|
|
List<InspectionTaskListVO> listVO = InspectionTaskListWrapper.build().listVO(list); |
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<InspectionTask> qw = Wrappers.lambdaQuery(InspectionTask.class) |
|
|
|
|
.orderByAsc(InspectionTask::getId); |
|
|
|
|
List<InspectionTask> listAll = baseMapper.selectList(qw); |
|
|
|
|
List<InspectionTask> list = null; |
|
|
|
|
// todo:fake
|
|
|
|
|
if (listAll.size() >= 2) { |
|
|
|
|
list = listAll.subList(0, 2); |
|
|
|
|
} |
|
|
|
|
List<InspectionTaskListVO> listVO = null; |
|
|
|
|
if (list != null && !list.isEmpty()) { |
|
|
|
|
listVO = InspectionTaskListWrapper.build().listVO(list); |
|
|
|
|
for (InspectionTaskListVO one : listVO) { |
|
|
|
|
setListVOValue(one); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.data(listVO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -321,8 +345,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
return R.data(count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 刷新状态和数量。 |
|
|
|
|
* |
|
|
|
|
* @param id |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public Integer refreshStatusAndQty(Long id) { |
|
|
|
|
public InspectionTask refreshStatusAndQty(Long id) { |
|
|
|
|
InspectionTask task = getById(id); |
|
|
|
|
if (null == task) { |
|
|
|
|
throw new IllegalArgumentException("error id!"); |
|
|
|
|
@ -340,8 +370,12 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
log.info("countOK = {}", countOK); |
|
|
|
|
log.info("countNO = {}", countNO); |
|
|
|
|
log.info("countNA = {}", countNA); |
|
|
|
|
if (countOK != 0 || countNO != 0 || countNA != 0) { |
|
|
|
|
// 设置接收时间
|
|
|
|
|
task.setReceiveDate(LocalDateTime.now()); |
|
|
|
|
} |
|
|
|
|
// checkResult 处理
|
|
|
|
|
int checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认TODO
|
|
|
|
|
int checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认 数据库
|
|
|
|
|
if (countToDo == 0) { // 未检验为0
|
|
|
|
|
if (countOK == itemList.size()) { // 全部item 合格
|
|
|
|
|
checkResult = InspectionTaskConst.CHECK_RESULT_OK; |
|
|
|
|
@ -351,18 +385,31 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap |
|
|
|
|
checkResult = InspectionTaskConst.CHECK_RESULT_NG; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 最新状态
|
|
|
|
|
task.setCheckResult(checkResult); |
|
|
|
|
// 保存最新状态
|
|
|
|
|
task.setStatus(checkResult); |
|
|
|
|
// 更新
|
|
|
|
|
updateById(task); |
|
|
|
|
//
|
|
|
|
|
// 如果检验任务结果不合格,创建 生产处置单
|
|
|
|
|
if (checkResult == InspectionTaskConst.CHECK_RESULT_NG) { |
|
|
|
|
addRsSheet(id); |
|
|
|
|
} |
|
|
|
|
return task; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void addRsSheet(Long id) { |
|
|
|
|
InspectionTask task = getById(id); |
|
|
|
|
if (InspectionTaskConst.CHECK_RESULT_NG.equals(task.getCheckResult())) { |
|
|
|
|
if (!rsSubService.existTaskId(id)) { |
|
|
|
|
ReviewSheet rs = new ReviewSheet(); |
|
|
|
|
rs.setStatus(ReviewSheetConst.S_INIT); |
|
|
|
|
// rs.setRsCode("RS" + System.currentTimeMillis());
|
|
|
|
|
rs.setStatus(ReviewSheetConst.STATUS.S_INIT); |
|
|
|
|
rs.setReviewStatus(ReviewSheetConst.ERP_REVIEW_S.REVIEW_STATUS_INIT); |
|
|
|
|
rs.setTaskId(id); |
|
|
|
|
rsSubService.save(rs); |
|
|
|
|
rs.setRsCode("RS" + rs.getId()); // todo:fake data
|
|
|
|
|
rsSubService.updateById(rs); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return checkResult; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|