|
|
|
|
@ -1,8 +1,17 @@
|
|
|
|
|
package cn.iocoder.yudao.module.mes.controller.admin.zjtaskresults;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.ZjItemRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.ZjTaskSaveReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtype.ZjTypeDO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.zjtask.ZjTaskService;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.zjtype.ZjTypeService;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
@ -28,6 +37,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.zjtaskresults.vo.*;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO;
|
|
|
|
|
@ -43,6 +53,10 @@ public class ZjTaskResultsController {
|
|
|
|
|
private ZjTaskResultsService zjTaskResultsService;
|
|
|
|
|
@Resource
|
|
|
|
|
private ZjTaskService zjTaskService;
|
|
|
|
|
@Resource
|
|
|
|
|
private ZjTypeService zjTypeService;
|
|
|
|
|
@Resource
|
|
|
|
|
private ErpProductUnitService productUnitService;
|
|
|
|
|
|
|
|
|
|
@PostMapping("/create")
|
|
|
|
|
@Operation(summary = "创建检验任务-检验结果")
|
|
|
|
|
@ -82,7 +96,8 @@ public class ZjTaskResultsController {
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('mes:zj-task-results:query')")
|
|
|
|
|
public CommonResult<PageResult<ZjTaskResultsRespVO>> getZjTaskResultsPage(@Valid ZjTaskResultsPageReqVO pageReqVO) {
|
|
|
|
|
PageResult<ZjTaskResultsDO> pageResult = zjTaskResultsService.getZjTaskResultsPage(pageReqVO);
|
|
|
|
|
return success(BeanUtils.toBean(pageResult, ZjTaskResultsRespVO.class));
|
|
|
|
|
// return success(BeanUtils.toBean(pageResult, ZjTaskResultsRespVO.class));
|
|
|
|
|
return success(new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/export-excel")
|
|
|
|
|
@ -136,4 +151,34 @@ public class ZjTaskResultsController {
|
|
|
|
|
return "2"; // 其余情况(存在不通过),任务结果为2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<ZjTaskResultsRespVO> buildVOList(List<ZjTaskResultsDO> list) {
|
|
|
|
|
if (CollUtil.isEmpty(list)) {
|
|
|
|
|
return Collections.emptyList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<Long, ZjTypeDO> zjTypeMap = zjTypeService.getZjTypeVOMap(
|
|
|
|
|
convertSet(list, ZjTaskResultsDO::getZjType));
|
|
|
|
|
|
|
|
|
|
List<ErpProductUnitDO> unitDOList = productUnitService.getProductUnitListByStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
|
|
// 转换为 ID -> 名称 的映射(key是单位ID,value是单位名称)
|
|
|
|
|
Map<String, String> unitNameMap = unitDOList.stream()
|
|
|
|
|
.collect(Collectors.toMap(
|
|
|
|
|
unit -> String.valueOf(unit.getId()),
|
|
|
|
|
ErpProductUnitDO::getName,
|
|
|
|
|
(k1, k2) -> k1
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
// 3. 转换DO到VO,同时赋值两个名称字段
|
|
|
|
|
return BeanUtils.toBean(list, ZjTaskResultsRespVO.class, item -> {
|
|
|
|
|
// 原有:设置质检类型名称
|
|
|
|
|
MapUtils.findAndThen(zjTypeMap, item.getZjType(), zjType -> item.setZjTypeName(zjType.getName()));
|
|
|
|
|
|
|
|
|
|
// 新增:设置单位名称(容错处理:空值/无映射时显示空字符串)
|
|
|
|
|
if (item.getUnit() != null) {
|
|
|
|
|
String unitName = unitNameMap.getOrDefault(item.getUnit(), "");
|
|
|
|
|
item.setUnitName(unitName);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|