fix(feature/DM/nflg-bom): 修改pbom导出功能,分为按查询条件导出和按rowid导出
This commit is contained in:
parent
95443fc3f0
commit
ba19d4f1be
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.product.bomnew.api.user;
|
package com.nflg.product.bomnew.api.user;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.mzt.logapi.context.LogRecordContext;
|
import com.mzt.logapi.context.LogRecordContext;
|
||||||
import com.mzt.logapi.starter.annotation.LogRecord;
|
import com.mzt.logapi.starter.annotation.LogRecord;
|
||||||
|
|
@ -16,7 +17,9 @@ import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery;
|
||||||
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
|
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
|
||||||
import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO;
|
import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO;
|
||||||
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO;
|
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO;
|
||||||
|
import com.nflg.product.bomnew.pojo.vo.BomNewPbomWorkExcelVO;
|
||||||
import com.nflg.product.bomnew.service.*;
|
import com.nflg.product.bomnew.service.*;
|
||||||
|
import com.nflg.product.bomnew.util.EecExcelUtil;
|
||||||
import com.nflg.product.bomnew.util.VUtils;
|
import com.nflg.product.bomnew.util.VUtils;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
@ -27,6 +30,7 @@ import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
@ -75,35 +79,51 @@ public class PBomApi extends BaseApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("exportWorkDetailsListByPage")
|
@PostMapping("exportWorkDetailsListByPage")
|
||||||
@ApiOperation("导出工作列表--导出")
|
@ApiOperation("导出工作列表--按查询条件")
|
||||||
@LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表")
|
@LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表")
|
||||||
public void exportWorkDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException {
|
public void exportWorkDownLoad(@RequestBody BomNewPbomParentQuery query, HttpServletResponse response) throws IOException {
|
||||||
bomNewPbomParentService.workDetailsExcel(query,response);
|
//bomNewPbomParentService.workDetailsExcel(query,response);
|
||||||
|
IPage<BomNewPbomParentVO> data = bomNewPbomParentService.workDetailsListByPage(query);
|
||||||
|
List<BomNewPbomWorkExcelVO> out = new ArrayList<>();
|
||||||
|
if (!data.getRecords().isEmpty()) {
|
||||||
|
out = Convert.toList(BomNewPbomWorkExcelVO.class, data.getRecords());
|
||||||
|
}
|
||||||
|
EecExcelUtil.export(response, out, BomNewPbomWorkExcelVO.class, "pbom明细列表");
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("releaseListDownLoad")
|
@PostMapping("releaseListDownLoad")
|
||||||
@ApiOperation("PBom已发布工作列表--导出")
|
@ApiOperation("导出正式列表--按查询条件")
|
||||||
@LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表")
|
@LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表")
|
||||||
public void releaseListDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException {
|
public void releaseListDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException {
|
||||||
bomNewPbomParentService.releaseListExcel(query,response);
|
//bomNewPbomParentService.releaseListExcel(query,response);
|
||||||
|
IPage<BomNewPbomParentVO> data = bomNewPbomParentService.releaseListByPage(query);
|
||||||
|
List<BomNewPbomWorkExcelVO> out = new ArrayList<>();
|
||||||
|
if (!data.getRecords().isEmpty()) {
|
||||||
|
out = Convert.toList(BomNewPbomWorkExcelVO.class, data.getRecords());
|
||||||
|
}
|
||||||
|
EecExcelUtil.export(response, out, BomNewPbomWorkExcelVO.class, "pbom已发布工作列表");
|
||||||
}
|
}
|
||||||
|
|
||||||
// @PostMapping("exportWorkDetailsListByPage")
|
@PostMapping("exportWorkDetailsListByIds")
|
||||||
// @ApiOperation("导出工作列表--导出")
|
@ApiOperation("导出工作列表--按rowid")
|
||||||
// @LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表")
|
@LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表")
|
||||||
// public void exportWorkDownLoad(@RequestBody List<Long> bomRowIds, HttpServletResponse response) throws IOException {
|
public void exportWorkDownLoad(@RequestBody List<Long> bomRowIds, HttpServletResponse response) throws IOException {
|
||||||
// List<BomNewPbomWorkExcelVO> data = bomNewPbomParentService.exportExcel(bomRowIds);
|
VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要导出的行");
|
||||||
// //new Workbook().addSheet(new ListSheet<>(data)).writeTo(response.getOutputStream());
|
|
||||||
// EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom明细列表");
|
List<BomNewPbomWorkExcelVO> data = bomNewPbomParentService.exportExcel(bomRowIds);
|
||||||
// }
|
//new Workbook().addSheet(new ListSheet<>(data)).writeTo(response.getOutputStream());
|
||||||
//
|
EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom明细列表");
|
||||||
// @PostMapping("releaseListDownLoad")
|
}
|
||||||
// @ApiOperation("PBom已发布工作列表--导出")
|
|
||||||
// @LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表")
|
@PostMapping("releaseListDownLoadByIds")
|
||||||
// public void releaseListDownLoad(@RequestBody List<Long> bomRowIds, HttpServletResponse response) throws IOException {
|
@ApiOperation("导出正式列表--按rowid")
|
||||||
// List<BomNewPbomWorkExcelVO> data = bomNewPbomParentService.exportExcel(bomRowIds);
|
@LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表")
|
||||||
// EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom已发布明细列表");
|
public void releaseListDownLoad(@RequestBody List<Long> bomRowIds, HttpServletResponse response) throws IOException {
|
||||||
// }
|
VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要导出的行");
|
||||||
|
|
||||||
|
List<BomNewPbomWorkExcelVO> data = bomNewPbomParentService.exportExcel(bomRowIds);
|
||||||
|
EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom已发布明细列表");
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("getChild")
|
@GetMapping("getChild")
|
||||||
@ApiOperation("获取子级")
|
@ApiOperation("获取子级")
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(materialNo)) {
|
if (StrUtil.isNotBlank(materialNo)) {
|
||||||
List<String> parentMaterialByMaterialNo = getParentMaterialByMaterialNo(materialNo).stream().collect(Collectors.toList());
|
List<String> parentMaterialByMaterialNo = new ArrayList<>(getParentMaterialByMaterialNo(materialNo));
|
||||||
parentMaterialByMaterialNo.add(materialNo);
|
parentMaterialByMaterialNo.add(materialNo);
|
||||||
if (CollUtil.isNotEmpty(parentMaterialByMaterialNo)) {
|
if (CollUtil.isNotEmpty(parentMaterialByMaterialNo)) {
|
||||||
List<BomNewPbomParentVO> parents = this.getBaseMapper().getParentForMaterialNoSeach(StrUtil.isBlank(userRoleService.getUserFactory()) ? userRoleService.getUserFactory() : query.getFacCode(), parentMaterialByMaterialNo);
|
List<BomNewPbomParentVO> parents = this.getBaseMapper().getParentForMaterialNoSeach(StrUtil.isBlank(userRoleService.getUserFactory()) ? userRoleService.getUserFactory() : query.getFacCode(), parentMaterialByMaterialNo);
|
||||||
|
|
@ -131,7 +131,7 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
|
||||||
return handSeachToTree(parents, childs);
|
return handSeachToTree(parents, childs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new Page<BomNewPbomParentVO>();
|
return new Page<>();
|
||||||
} else {
|
} else {
|
||||||
Page<BomNewPbomParentVO> result = this.getBaseMapper().workDetailsListByPage(new Page<>(query.getPage(), query.getPageSize()), query, userRoleService.getUserFactory());
|
Page<BomNewPbomParentVO> result = this.getBaseMapper().workDetailsListByPage(new Page<>(query.getPage(), query.getPageSize()), query, userRoleService.getUserFactory());
|
||||||
materialMainService.intiMaterialInfo(result.getRecords(), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
materialMainService.intiMaterialInfo(result.getRecords(), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||||
|
|
@ -141,8 +141,8 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
|
||||||
|
|
||||||
private Page<BomNewPbomParentVO> handSeachToTree(List<BomNewPbomParentVO> parents, List<BomNewPbomParentVO> childs) {
|
private Page<BomNewPbomParentVO> handSeachToTree(List<BomNewPbomParentVO> parents, List<BomNewPbomParentVO> childs) {
|
||||||
Page<BomNewPbomParentVO> resutlData = new Page<>();
|
Page<BomNewPbomParentVO> resutlData = new Page<>();
|
||||||
Set<String> parentSet = parents.stream().map(u -> u.getMaterialNo()).collect(Collectors.toSet());
|
Set<String> parentSet = parents.stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toSet());
|
||||||
Set<String> childSet = childs.stream().map(u -> u.getMaterialNo()).collect(Collectors.toSet());
|
Set<String> childSet = childs.stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toSet());
|
||||||
Set<String> difference = Sets.difference(parentSet, childSet);
|
Set<String> difference = Sets.difference(parentSet, childSet);
|
||||||
List<BomNewPbomParentVO> resultParents = parents.stream().filter(u -> difference.contains(u.getMaterialNo())).collect(Collectors.toList());
|
List<BomNewPbomParentVO> resultParents = parents.stream().filter(u -> difference.contains(u.getMaterialNo())).collect(Collectors.toList());
|
||||||
resutlData.setTotal(difference.size());
|
resutlData.setTotal(difference.size());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue