| | |
| | | import com.alibaba.fastjson.TypeReference; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.sxkj.gd.workorder.dto.GdTaskResultDTO; |
| | | import org.sxkj.gd.workorder.entity.GdDeviceCallDetailEntity; |
| | | import org.sxkj.gd.workorder.entity.GdDeviceCallEntity; |
| | |
| | | * 保存普通成果数据(dateType != 4) |
| | | * |
| | | * @param gdTaskResults 成果DTO列表 |
| | | * @return 保存成功后的成果ID列表 |
| | | */ |
| | | @Override |
| | | public List<Long> batchSaveWithIds(List<GdTaskResultDTO> gdTaskResults) { |
| | | // 步骤1:转换DTO为实体 |
| | | List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults); |
| | | |
| | | // 步骤2:处理每个实体的属性 |
| | | gdTaskResultEntities.forEach(gdTaskResult -> { |
| | | String processedAreaCode = HeaderUtils.processAreaCode(gdTaskResult.getAreaCode()); |
| | | gdTaskResult.setAreaCode(processedAreaCode); |
| | | // 如果resultCode为空,生成时间戳作为默认值 |
| | | if (StringUtil.isEmpty(gdTaskResult.getResultCode())) { |
| | | gdTaskResult.setResultCode(String.valueOf(System.currentTimeMillis())); |
| | | } |
| | | if (gdTaskResult.getShootTime() == null) { |
| | | gdTaskResult.setShootTime(new Date()); |
| | | } |
| | | gdTaskResult.setStatus(0); |
| | | gdTaskResult.setUpdateTime(new Date()); |
| | | gdTaskResult.setCreateTime(new Date()); |
| | | gdTaskResult.setIsDeleted(0); |
| | | gdTaskResult.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); |
| | | gdTaskResult.setUpdateUser(AuthUtil.getUserId()); |
| | | gdTaskResult.setDistributeStatus(0); |
| | | }); |
| | | |
| | | // 步骤3:批量插入数据 |
| | | int insertCount = baseMapper.insertBatch(gdTaskResultEntities); |
| | | |
| | | // 步骤4:收集并返回保存后的ID列表 |
| | | return gdTaskResultEntities.stream() |
| | | .map(GdTaskResultEntity::getId) |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * 保存普通成果数据(dateType != 4) |
| | | * |
| | | * @param gdTaskResults 成果DTO列表 |
| | | */ |
| | | private void saveNormalTaskResults(List<GdTaskResultDTO> gdTaskResults) { |
| | | List<GdTaskResultEntity> gdTaskResultEntities = GdTaskResultWrapper.build().listEntity(gdTaskResults); |