终检过程检 排序
This commit is contained in:
parent
08953ad7cb
commit
7cefab756a
@ -164,8 +164,10 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
||||
.groupBy(TaskDispatchDetailDO::getId)
|
||||
.disableSubLogicDel();
|
||||
if (reqVO.getProcedureStatusList().size()==1 && reqVO.getProcedureStatusList().get(0)==2){
|
||||
//完工降序
|
||||
query.orderByDesc(TaskDispatchDO::getCode);
|
||||
}else {
|
||||
//未完工升序
|
||||
query.orderByAsc(TaskDispatchDO::getCode);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(postIds)) {
|
||||
|
@ -345,7 +345,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
List<TaskDispatchDetailDO> list = taskDispatchDetailDOPageResult.getList();
|
||||
List<TaskDispatchDetailDO> afterList = new ArrayList<>();
|
||||
if (CollUtil.isNotEmpty(list)){
|
||||
Map<Long, List<TaskDispatchDetailDO>> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getId));
|
||||
Map<String, List<TaskDispatchDetailDO>> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getDispatchCode));
|
||||
collect.forEach((code,list2)->{
|
||||
list2.sort(Comparator.comparing(TaskDispatchDetailDO::getSort, Comparator.nullsLast(Integer::compareTo)));
|
||||
afterList.addAll(list2);
|
||||
@ -470,30 +470,47 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
case FINISH:
|
||||
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||
// TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
|
||||
List<Long> idsProduction = new ArrayList<>();
|
||||
List<Long> idsAssemble = new ArrayList<>();
|
||||
List<TaskDispatchDO> taskDispatchDOS = taskDispatchMapper.selectList(TaskDispatchDO::getPlanId, taskDispatchDO.getPlanId());
|
||||
if(CollUtil.isNotEmpty(taskDispatchDOS)){
|
||||
List<Long> ids = taskDispatchDOS.stream()
|
||||
idsAssemble = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("ASSEMBLE"))
|
||||
.map(TaskDispatchDO::getId)
|
||||
.collect(Collectors.toList());
|
||||
List<TaskDispatchDetailDO> taskDispatchDetailList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
||||
.in(TaskDispatchDetailDO::getDispatchId, ids));
|
||||
boolean isOver = true;
|
||||
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailList) {
|
||||
idsProduction = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("PRODUCTION"))
|
||||
.map(TaskDispatchDO::getId)
|
||||
.collect(Collectors.toList());
|
||||
List<TaskDispatchDetailDO> taskDispatchDetailAssembleList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
||||
.in(TaskDispatchDetailDO::getDispatchId, idsAssemble));
|
||||
List<TaskDispatchDetailDO> taskDispatchDetailProductionList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper<TaskDispatchDetailDO>()
|
||||
.in(TaskDispatchDetailDO::getDispatchId, idsProduction));
|
||||
|
||||
boolean isProductionOver = true;
|
||||
boolean isAssembleOver = true;
|
||||
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailAssembleList) {
|
||||
if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){
|
||||
if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||
isOver = false;
|
||||
isAssembleOver = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isOver){
|
||||
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailProductionList) {
|
||||
if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){
|
||||
if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){
|
||||
isProductionOver = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isProductionOver){
|
||||
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId());
|
||||
}else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isAssembleOver){
|
||||
zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId());
|
||||
}
|
||||
if (isProductionOver&&isAssembleOver){
|
||||
planDO.setStatus(3);
|
||||
planMapper.updateById(planDO);
|
||||
if(taskDispatchDO.getDispatchType().equals("ASSEMBLE")){
|
||||
zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId());
|
||||
} else if (taskDispatchDO.getDispatchType().equals("PRODUCTION")) {
|
||||
pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId());
|
||||
}
|
||||
}
|
||||
}
|
||||
taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
|
||||
|
Loading…
Reference in New Issue
Block a user