Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom
This commit is contained in:
commit
4ded5800f8
|
|
@ -1,6 +1,7 @@
|
|||
package com.nflg.product.bomnew.api.user;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.product.base.core.api.BaseApi;
|
||||
import com.nflg.product.bomnew.constant.ReportConstant;
|
||||
|
|
@ -9,6 +10,7 @@ import com.nflg.product.bomnew.pojo.query.ReverseReportQuery;
|
|||
import com.nflg.product.bomnew.pojo.vo.*;
|
||||
import com.nflg.product.bomnew.service.ForwardReportService;
|
||||
import com.nflg.product.bomnew.service.ReverseReportService;
|
||||
import com.nflg.product.bomnew.util.VUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import nflg.product.common.constant.STATE;
|
||||
|
|
@ -19,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
|
@ -93,6 +97,22 @@ public class BomReportApi extends BaseApi {
|
|||
return ResultVO.success(forwardReportService.factoryBomType(query));
|
||||
}
|
||||
|
||||
@PostMapping("forwardExport")
|
||||
public void export(@RequestBody ReverseReportQuery query, HttpServletResponse response) throws IOException {
|
||||
|
||||
ResultVO resultVO = checkQueryParam(query);
|
||||
if (resultVO != null) {
|
||||
VUtils.isTure( true ).throwMessage(resultVO.getMsg());
|
||||
}
|
||||
|
||||
forwardReportService.exportBom(query,response);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping("forwardChildReport")
|
||||
@ApiOperation("bom-子级bom信息")
|
||||
|
|
@ -132,4 +152,8 @@ public class BomReportApi extends BaseApi {
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,98 @@
|
|||
package com.nflg.product.bomnew.pojo.vo;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.ttzero.excel.annotation.ExcelColumn;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class ForwardReportExcelVO {
|
||||
// @ExcelColumn("bomRowId")
|
||||
private Long bomRowId=0L;
|
||||
|
||||
public String getBomRowId(){
|
||||
|
||||
return bomRowId.toString();
|
||||
}
|
||||
// @ExcelColumn("parentRowId")
|
||||
private Long parentRowId=0L;
|
||||
|
||||
public String getParentRowId(){
|
||||
return parentRowId.toString();
|
||||
}
|
||||
|
||||
|
||||
@ExcelColumn("序号")
|
||||
private String orderNumber;
|
||||
|
||||
@ExcelColumn("层级")
|
||||
private Integer levelNum;
|
||||
|
||||
public String getlevelNum(){
|
||||
return StrUtil.repeat(".",levelNum)+levelNum;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ExcelColumn(value = "版本号")
|
||||
private String currentVersion; //设计人员
|
||||
|
||||
|
||||
@ExcelColumn("物料名称")
|
||||
private String materialName;
|
||||
|
||||
@ExcelColumn("物料编码")
|
||||
private String materialNo;
|
||||
|
||||
|
||||
@ExcelColumn("图号")
|
||||
private String drawingNo;
|
||||
@ApiModelProperty("物料描述")
|
||||
private String materialDesc;
|
||||
|
||||
|
||||
@ExcelColumn(value = "项目类别")
|
||||
|
||||
private String projectType;
|
||||
@ExcelColumn( "数量")
|
||||
private BigDecimal num;
|
||||
@ExcelColumn("单重")
|
||||
private BigDecimal unitWeight;
|
||||
|
||||
|
||||
|
||||
@ExcelColumn("单位")
|
||||
private String materialUnit;
|
||||
|
||||
|
||||
@ExcelColumn("总重")
|
||||
private BigDecimal totalWeight;
|
||||
|
||||
|
||||
@ExcelColumn("创建时间")
|
||||
private LocalDateTime createdTime;
|
||||
|
||||
@ExcelColumn("版本过期时间")
|
||||
private LocalDateTime expireEndTime;
|
||||
|
||||
@ExcelColumn("设计人员")
|
||||
private String deviseName;
|
||||
|
||||
//设计维护部门名称
|
||||
@ExcelColumn("设计维护部门")
|
||||
private String deptName;
|
||||
@ExcelColumn("是否有BOM")
|
||||
private String childBomStatus;
|
||||
|
||||
public String getChildBomStatus(){
|
||||
if(bomRowId>0){
|
||||
return "有Bom";
|
||||
}else{
|
||||
return "无Bom";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -14,9 +14,14 @@ import com.nflg.product.bomnew.pojo.vo.*;
|
|||
import com.nflg.product.bomnew.service.domain.EBom.EBomForwardReport;
|
||||
import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomForwardReport;
|
||||
import com.nflg.product.bomnew.service.domain.PBom.PBomForwardReport;
|
||||
import com.nflg.product.bomnew.util.EecExcelUtil;
|
||||
import com.nflg.product.bomnew.util.VUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.ttzero.excel.entity.ListSheet;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -108,6 +113,60 @@ public class ForwardReportService {
|
|||
}
|
||||
|
||||
|
||||
public void exportBom(ReverseReportQuery query,HttpServletResponse response) throws IOException {
|
||||
|
||||
//原始BOM
|
||||
if (query.getBomType().compareTo(ReportConstant.BomTypeEnum.ORIGINALBOM.getValue()) == 0) {
|
||||
OriginalBomForwardReport originalBomForwardReport=new OriginalBomForwardReport(query);
|
||||
ReportBomVO reportBomVO = originalBomForwardReport.genReport();
|
||||
EecExcelUtil.setResponseExcelHeader(response, "原始BOM查看列表");
|
||||
exportExcel(reportBomVO.getChildNodes(),response.getOutputStream());
|
||||
}
|
||||
|
||||
//EBOM
|
||||
if (query.getBomType().compareTo(ReportConstant.BomTypeEnum.EBOM.getValue()) == 0) {
|
||||
EBomForwardReport eBomForwardReport = new EBomForwardReport(query);
|
||||
ReportBomVO reportBomVO = eBomForwardReport.genReport();
|
||||
EecExcelUtil.setResponseExcelHeader(response, "EBOM查看列表");
|
||||
exportExcel(reportBomVO.getChildNodes(),response.getOutputStream());
|
||||
}
|
||||
|
||||
//PBOM
|
||||
if (query.getBomType().compareTo(ReportConstant.BomTypeEnum.PBOM.getValue()) == 0) {
|
||||
PBomForwardReport pBomForwardReport=new PBomForwardReport(query);
|
||||
ReportBomVO reportBomVO = pBomForwardReport.genReport();
|
||||
EecExcelUtil.setResponseExcelHeader(response, "PBOM查看列表");
|
||||
exportExcel(reportBomVO.getChildNodes(),response.getOutputStream());
|
||||
}
|
||||
//MBOM
|
||||
if (query.getBomType().compareTo(ReportConstant.BomTypeEnum.MBOM.getValue()) == 0) {
|
||||
|
||||
}
|
||||
|
||||
VUtils.isTure(true).throwMessage("错误的BOM类型");
|
||||
|
||||
|
||||
}
|
||||
public void exportExcel( List<ForwardReportVO> list,OutputStream outputStream) throws IOException {
|
||||
|
||||
final ListSheet<ForwardReportExcelVO> listSheet = new ListSheet<ForwardReportExcelVO>() {
|
||||
Long n = 0L;
|
||||
Long pages = 1L;
|
||||
|
||||
@Override
|
||||
protected List<ForwardReportExcelVO> more() {
|
||||
return n++ < pages ? Convert.convert(new TypeReference<List<ForwardReportExcelVO>>() {
|
||||
}, list) : null;
|
||||
}
|
||||
};
|
||||
EecExcelUtil.eecExcel("BOM查看列表", listSheet, outputStream);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
List<ForwardReportVO> chilidEBomList(ChildBomReportQuery query) {
|
||||
// QueryWrapper<BomNewEbomChildFormalEntity> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.lambda().eq(BomNewEbomChildFormalEntity::getParentRowId, query.getBomRowId());
|
||||
|
|
@ -166,4 +225,9 @@ public class ForwardReportService {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,10 @@ public abstract class BaseForwardReport {
|
|||
if (dataStyle.compareTo(ReportConstant.DataTypeEnum.LIST.getValue()) == 0) {
|
||||
//列表
|
||||
rootList = listToList(bomList, parentRowId);
|
||||
|
||||
|
||||
Collections.sort(rootList, (option0, option1) -> Integer.parseInt(option0.getOrderNumber()) - Integer.parseInt(option1.getOrderNumber()));
|
||||
|
||||
} else if (dataStyle.compareTo(ReportConstant.DataTypeEnum.TREE.getValue()) == 0) {
|
||||
//转化为树结构
|
||||
rootList = listToTree(bomList, parentRowId);
|
||||
|
|
|
|||
|
|
@ -116,13 +116,17 @@ public class EBomForwardReport extends BaseForwardReport {
|
|||
|
||||
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||
}, list);
|
||||
AtomicInteger orderNum = new AtomicInteger();
|
||||
for (ForwardReportVO vo :
|
||||
nodeList) {
|
||||
vo.setCreatedTime(forwardReportVO.getCreatedTime());
|
||||
vo.setLevelNum(1);
|
||||
vo.setOrderNumber(orderNum.incrementAndGet() + "");
|
||||
// vo.setOrderNumber("");
|
||||
}
|
||||
|
||||
// Collections.sort(nodeList, (option0, option1) -> option0.getOrderNumber().compareTo(option1.getOrderNumber()));
|
||||
|
||||
}
|
||||
|
||||
return buildReportBomVo(forwardReportVO,nodeList);
|
||||
|
|
@ -201,6 +205,7 @@ public class EBomForwardReport extends BaseForwardReport {
|
|||
//转化为树结构
|
||||
rootList = showDataStyle(convertBomList, parentFormal.getRowId());
|
||||
|
||||
|
||||
return buildReportBomVo(forwardReportVO,rootList,query.getDataType());
|
||||
|
||||
|
||||
|
|
@ -230,6 +235,14 @@ public class EBomForwardReport extends BaseForwardReport {
|
|||
//无子级的数据
|
||||
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList);
|
||||
|
||||
AtomicInteger orderNum = new AtomicInteger();
|
||||
for (ForwardReportVO vo :
|
||||
sumList) {
|
||||
|
||||
vo.setLevelNum(1);
|
||||
vo.setOrderNumber(orderNum.incrementAndGet() + "");
|
||||
|
||||
}
|
||||
return buildReportBomVo(forwardReportVO,sumList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,13 +86,14 @@ public class OriginalBomForwardReport extends BaseForwardReport {
|
|||
List<ForwardReportVO> nodeList=null;
|
||||
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
|
||||
int noNum=1;
|
||||
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||
}, list);
|
||||
for (ForwardReportVO vo :
|
||||
nodeList) {
|
||||
vo.setCreatedTime(parentFormal.getConvertToEbomTime());
|
||||
vo.setLevelNum(1);
|
||||
vo.setOrderNumber(noNum+"");noNum++;
|
||||
// vo.setOrderNumber("");
|
||||
}
|
||||
|
||||
|
|
@ -168,7 +169,12 @@ public class OriginalBomForwardReport extends BaseForwardReport {
|
|||
|
||||
//无子级的数据
|
||||
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList);
|
||||
int noNum=1;
|
||||
for (ForwardReportVO vo :
|
||||
sumList) {
|
||||
vo.setOrderNumber(noNum+"");noNum++;
|
||||
|
||||
}
|
||||
return buildReportBomVo(forwardReportVO,sumList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,10 +124,14 @@ public class PBomForwardReport extends BaseForwardReport {
|
|||
|
||||
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||
}, list);
|
||||
int noNum=1;
|
||||
for (ForwardReportVO vo :
|
||||
nodeList) {
|
||||
vo.setCreatedTime(forwardReportVO.getCreatedTime());
|
||||
vo.setLevelNum(1);
|
||||
vo.setOrderNumber(noNum+"");
|
||||
noNum++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -238,7 +242,10 @@ public class PBomForwardReport extends BaseForwardReport {
|
|||
|
||||
sumLevel(convertBomList);
|
||||
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList);
|
||||
|
||||
int noNum=1;
|
||||
for(ForwardReportVO vo:sumList){
|
||||
vo.setOrderNumber(noNum+"");noNum++;
|
||||
}
|
||||
|
||||
return buildReportBomVo(forwardReportVO,sumList);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue