|
|
|
|
@ -11,18 +11,25 @@ import lombok.Data; |
|
|
|
|
import lombok.EqualsAndHashCode; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.desk.basic.util.StatusCountMap; |
|
|
|
|
import org.springblade.desk.quality.constant.InspectionTaskConst; |
|
|
|
|
import org.springblade.desk.quality.excel.InspectionTaskExcel; |
|
|
|
|
import org.springblade.desk.quality.mapper.InspectionTaskMapper; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.InspectionItem; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.InspectionTask; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.WorkPlanItem; |
|
|
|
|
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; |
|
|
|
|
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; |
|
|
|
|
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO; |
|
|
|
|
import org.springblade.desk.quality.service.IInspectionTaskService; |
|
|
|
|
import org.springblade.desk.quality.service.IWorkPlanItemService; |
|
|
|
|
import org.springblade.system.feign.IDictClient; |
|
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* [检验任务] 服务实现类 |
|
|
|
|
@ -35,34 +42,69 @@ import java.util.List; |
|
|
|
|
@AllArgsConstructor |
|
|
|
|
@EqualsAndHashCode(callSuper = true) |
|
|
|
|
@Slf4j |
|
|
|
|
public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMapper, InspectionTask> implements IInspectionTaskService { |
|
|
|
|
public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMapper, InspectionTask> |
|
|
|
|
implements IInspectionTaskService { |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private IUserClient userClient; |
|
|
|
|
@Resource |
|
|
|
|
private IDictClient dictClient; |
|
|
|
|
@Resource |
|
|
|
|
private IWorkPlanItemService workPlanItemService; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<InspectionTaskDetailVO> selectInspectionTaskPage(IPage<InspectionTaskDetailVO> page, InspectionTaskDetailVO inspectionTask) { |
|
|
|
|
return page.setRecords(baseMapper.selectInspectionTaskPage(page, inspectionTask)); |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public IPage<InspectionTaskDetailVO> selectInspectionTaskPage(IPage<InspectionTaskDetailVO> page, InspectionTaskDetailVO inspectionTask) { |
|
|
|
|
return page.setRecords(baseMapper.selectInspectionTaskPage(page, inspectionTask)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<InspectionTaskExcel> exportInspectionTask(Wrapper<InspectionTask> queryWrapper) { |
|
|
|
|
List<InspectionTaskExcel> inspectionTaskList = baseMapper.exportInspectionTask(queryWrapper); |
|
|
|
|
//inspectionTaskList.forEach(inspectionTask -> {
|
|
|
|
|
// inspectionTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, InspectionTask.getType()));
|
|
|
|
|
//});
|
|
|
|
|
return inspectionTaskList; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public List<InspectionTaskExcel> exportInspectionTask(Wrapper<InspectionTask> queryWrapper) { |
|
|
|
|
List<InspectionTaskExcel> inspectionTaskList = baseMapper.exportInspectionTask(queryWrapper); |
|
|
|
|
//inspectionTaskList.forEach(inspectionTask -> {
|
|
|
|
|
// inspectionTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, InspectionTask.getType()));
|
|
|
|
|
//});
|
|
|
|
|
return inspectionTaskList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Override |
|
|
|
|
public void setVOValue(InspectionTaskDetailVO vo) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<InspectionTaskListVO> listTask(InspectionTaskSearch search) { |
|
|
|
|
return List.of(); |
|
|
|
|
public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) { |
|
|
|
|
return page.setRecords(baseMapper.listSearch(page, search)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Integer refreshStatusAndQty(Long id) { |
|
|
|
|
InspectionTask task = getById(id); |
|
|
|
|
if (null == task) { |
|
|
|
|
throw new IllegalArgumentException("error id!"); |
|
|
|
|
} |
|
|
|
|
List<WorkPlanItem> itemList = workPlanItemService.listByTaskId(id); |
|
|
|
|
StatusCountMap map = new StatusCountMap(); |
|
|
|
|
int taskStatus = InspectionTaskConst.CHECK_RESULT_TODO; |
|
|
|
|
for (WorkPlanItem item : itemList) { |
|
|
|
|
map.add1(item.getStatus()); |
|
|
|
|
} |
|
|
|
|
int countToDo = map.getMap().get(InspectionTaskConst.CHECK_RESULT_TODO); |
|
|
|
|
int countNA = map.getMap().get(InspectionTaskConst.CHECK_RESULT_NA); |
|
|
|
|
int countOK = map.getMap().get(InspectionTaskConst.CHECK_RESULT_OK); |
|
|
|
|
int countNO = map.getMap().get(InspectionTaskConst.CHECK_RESULT_NO); |
|
|
|
|
// taskStatus 处理
|
|
|
|
|
if (countToDo == 0) { // 未检验为0
|
|
|
|
|
if (countOK == itemList.size()) { // 全部item 合格
|
|
|
|
|
taskStatus = InspectionTaskConst.CHECK_RESULT_OK; |
|
|
|
|
} else if (countNA == itemList.size()) { // 全部item NA
|
|
|
|
|
taskStatus = InspectionTaskConst.CHECK_RESULT_NA; |
|
|
|
|
} else { |
|
|
|
|
taskStatus = InspectionTaskConst.CHECK_RESULT_NO; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
task.setStatus(taskStatus); |
|
|
|
|
// 保存最新状态
|
|
|
|
|
save(task); |
|
|
|
|
return taskStatus; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|