Merge branch 'feature/DM/nflg-bom' of http://112.74.186.154:3000/nflj/nflg_project into feature/DM/nflg-bom

This commit is contained in:
jing's 2024-03-30 16:41:33 +08:00
commit 483029dc39
7 changed files with 47 additions and 42 deletions

View File

@ -110,7 +110,7 @@ public class EbomApi extends BaseApi {
@PostMapping("projectTypeInit") @PostMapping("projectTypeInit")
@ApiOperation("项目类别自动赋值") @ApiOperation("项目类别自动赋值")
@LogRecord(success = "项目类别自动赋值:物料编码:{{#bom.materialNo}} 版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", @LogRecord(success = "项目类别自动赋值:物料编码:{{#InitPTypeBom.materialNo}} 版本:{{#InitPTypeBom.currentVersion}},操作结果:{{#_ret}}",
bizNo = "{{#bomRowIds.toString()}}", type = "项目类别自动赋值") bizNo = "{{#bomRowIds.toString()}}", type = "项目类别自动赋值")
public ResultVO<Boolean> projectTypeInit(@RequestBody List<Long> bomRowIds) throws ExecutionException, InterruptedException { public ResultVO<Boolean> projectTypeInit(@RequestBody List<Long> bomRowIds) throws ExecutionException, InterruptedException {
VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要自动赋值的行"); VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要自动赋值的行");
@ -122,7 +122,7 @@ public class EbomApi extends BaseApi {
@PostMapping("generateVirtualPackage") @PostMapping("generateVirtualPackage")
@ApiOperation("生成虚拟包") @ApiOperation("生成虚拟包")
@LogRecord(success = "生成虚拟包:物料编码:{{#bom.materialNo}} 版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", @LogRecord(success = "生成虚拟包:物料编码:{{#gvbom.materialNo}} 版本:{{#gvbom.currentVersion}},操作结果:{{#_ret}}",
bizNo = "{{#paramDto.bomRowId}}", type = "生成虚拟包") bizNo = "{{#paramDto.bomRowId}}", type = "生成虚拟包")
public ResultVO<Boolean> generateVirtualPackage(@RequestBody VirtualPackageParamDto paramDto) { public ResultVO<Boolean> generateVirtualPackage(@RequestBody VirtualPackageParamDto paramDto) {
VUtils.isTure(CollUtil.isEmpty(paramDto.getVirtualPackageValue())).throwMessage("请选择要生成的虚拟包"); VUtils.isTure(CollUtil.isEmpty(paramDto.getVirtualPackageValue())).throwMessage("请选择要生成的虚拟包");
@ -140,7 +140,7 @@ public class EbomApi extends BaseApi {
@PostMapping("convertToPBom") @PostMapping("convertToPBom")
@ApiOperation("转PBom") @ApiOperation("转PBom")
@LogRecord(success = "转PBom物料编码{{#bom.materialNo}} 版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", @LogRecord(success = "转PBom物料编码{{#CToPbom.materialNo}} 版本:{{#CToPbom.currentVersion}},操作结果:{{#_ret}}",
bizNo = "{{#paramDto.bomRowIds.toString()}}", type = "转PBom") bizNo = "{{#paramDto.bomRowIds.toString()}}", type = "转PBom")
public ResultVO<Boolean> convertToPBom(@RequestBody EBomToPBomParamDTO paramDto) throws ExecutionException, InterruptedException { public ResultVO<Boolean> convertToPBom(@RequestBody EBomToPBomParamDTO paramDto) throws ExecutionException, InterruptedException {
VUtils.isTure(CollUtil.isEmpty(paramDto.getBomRowIds())).throwMessage("请选择要转换的物料"); VUtils.isTure(CollUtil.isEmpty(paramDto.getBomRowIds())).throwMessage("请选择要转换的物料");
@ -178,10 +178,11 @@ public class EbomApi extends BaseApi {
@PostMapping("editExportBom") @PostMapping("editExportBom")
@ApiOperation("编辑导出") @ApiOperation("编辑导出")
@LogRecord(success = "Ebom-编辑导出,操作结果:{{#_ret}}", bizNo = "", @LogRecord(success = "Ebom-编辑导出,操作结果:{{#_ret}}", bizNo = "",
extra = "{{#list.toString()}}", type = "Ebom-编辑导出") extra = "{{#exportParam.toString()}}", type = "Ebom-编辑导出")
public void editExportBom(@RequestBody List<BomNewEbomParentVO> list, HttpServletResponse response) throws IOException { public void editExportBom(@RequestBody EbomEditExportDTO exportParam , HttpServletResponse response) throws IOException {
VUtils.isTure(CollectionUtil.isEmpty(list)).throwMessage("请选择要导出的物料行"); VUtils.isTure(CollUtil.isEmpty(exportParam.getList()) && exportParam.getBomRowId()<=0).throwMessage("请选择要导出的物料行");
bomNewEbomParentService.editExportBom(list, response);
bomNewEbomParentService.editExportBom(exportParam, response);
} }

View File

@ -154,7 +154,7 @@ public class OriginalBomApi extends BaseApi {
*/ */
@PostMapping("convertToEBom") @PostMapping("convertToEBom")
@ApiOperation("原始BOM转Ebom") @ApiOperation("原始BOM转Ebom")
@LogRecord(success = "删除BOM-图号:{{#bom.drawingNo}} 版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", @LogRecord(success = "删除BOM-图号:{{#coToEbom.drawingNo}} 版本:{{#coToEbom.currentVersion}},操作结果:{{#_ret}}",
bizNo = "{{#bomRowIds.toString()}}" ,type = "原始BOM转Ebom") bizNo = "{{#bomRowIds.toString()}}" ,type = "原始BOM转Ebom")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultVO<List<ImportOriginalBomVO>> convertToEBom(@RequestBody List<Long> bomRowIds) throws ExecutionException, InterruptedException { public ResultVO<List<ImportOriginalBomVO>> convertToEBom(@RequestBody List<Long> bomRowIds) throws ExecutionException, InterruptedException {

View File

@ -0,0 +1,15 @@
package com.nflg.product.bomnew.pojo.dto;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class EbomEditExportDTO {
@ApiModelProperty("数据列表")
private List<BomNewEbomParentVO> list;
@ApiModelProperty("bom行ID")
private Long bomRowId=0L;
}

View File

@ -12,6 +12,7 @@ import org.ttzero.excel.annotation.ExcelColumn;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* eBOM 导出模版 * eBOM 导出模版
@ -46,16 +47,18 @@ public class EbomExcelVO {
public String getStatusName() { public String getStatusName() {
return EnumUtils.getValueEnum(EBomStatusEnum.class, this.status).getDescription(); return Objects.nonNull(this.status)? EnumUtils.getValueEnum(EBomStatusEnum.class, this.status).getDescription():"";
} }
@ExcelColumn("异常状态") @ExcelColumn("异常状态")
private String errorStatus; private String errorStatus;
public String getErrorStatus(){
return EnumUtils.getValueEnum(EBomExceptionStatusEnum.class, this.status).getDescription();
}
private Integer exceptionStatus; private Integer exceptionStatus;
public String getErrorStatus(){
return Objects.nonNull(exceptionStatus)? EnumUtils.getValueEnum(EBomExceptionStatusEnum.class, this.getExceptionStatus()).getDescription():"";
}

View File

@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.ttzero.excel.entity.ListSheet; import org.ttzero.excel.entity.ListSheet;
import org.ttzero.excel.entity.Workbook;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -436,7 +437,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
for (Long bomRowId : bomRowIds) { for (Long bomRowId : bomRowIds) {
List<BomNewEbomParentVO> data = getBomTree(bomRowId); List<BomNewEbomParentVO> data = getBomTree(bomRowId);
BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId)); BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId));
LogRecordContext.putVariable("bom", parent); LogRecordContext.putVariable("InitPTypeBom", parent);
//初始化物料信息 //初始化物料信息
materialMainService.intiMaterialInfo(data); materialMainService.intiMaterialInfo(data);
productTypeInitDo(parent, data); productTypeInitDo(parent, data);
@ -646,12 +647,10 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
public void generateVirtualPackage(VirtualPackageParamDto paramDto) { public void generateVirtualPackage(VirtualPackageParamDto paramDto) {
try { try {
BomNewEbomParentEntity root = this.getById(paramDto.getBomRowId()); BomNewEbomParentEntity root = this.getById(paramDto.getBomRowId());
VUtils.isTure(Objects.isNull(root)).throwMessage("Bom不存在");
VUtils.isTure(Objects.isNull(root)).throwMessage("不存在的bom");
VUtils.isTure(!Objects.equals(root.getExceptionStatus(), EBomExceptionStatusEnum.OK.getValue())) VUtils.isTure(!Objects.equals(root.getExceptionStatus(), EBomExceptionStatusEnum.OK.getValue()))
.throwMessage("异常状态下不允许生成虚拟包"); .throwMessage("异常状态下不允许生成虚拟包");
LogRecordContext.putVariable("gvbom", root);
LogRecordContext.putVariable("bom", root);
//初始化虚拟包-判断枚举不是手工生成虚拟包的情况 //初始化虚拟包-判断枚举不是手工生成虚拟包的情况
checkAndInitVirtualPackageEnum(paramDto, root); checkAndInitVirtualPackageEnum(paramDto, root);
Boolean flag = true; Boolean flag = true;
@ -699,7 +698,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId)); BomNewEbomParentVO parent = Convert.convert(BomNewEbomParentVO.class, this.getById(bomRowId));
VUtils.isTure(Objects.isNull(parent)).throwMessage("Bom版本不存在" + bomRowId.toString()); VUtils.isTure(Objects.isNull(parent)).throwMessage("Bom版本不存在" + bomRowId.toString());
LogRecordContext.putVariable("bom", parent); LogRecordContext.putVariable("CToPbom", parent);
List<BomNewEbomParentVO> bomTree = getBomTree(bomRowId); List<BomNewEbomParentVO> bomTree = getBomTree(bomRowId);
VUtils.isTure(CollUtil.isEmpty(bomTree)).throwMessage("该BOM不存在下级无需转换" + bomRowId.toString()); VUtils.isTure(CollUtil.isEmpty(bomTree)).throwMessage("该BOM不存在下级无需转换" + bomRowId.toString());
parent.setBomRowId(parent.getRowId()); parent.setBomRowId(parent.getRowId());
@ -838,34 +837,21 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
} }
public void editExportBom(List<BomNewEbomParentVO> list, HttpServletResponse response) throws IOException { public void editExportBom(EbomEditExportDTO param, HttpServletResponse response) throws IOException {
final ListSheet<EbomExcelEditVO> listSheet = new ListSheet<EbomExcelEditVO>() { List<BomNewEbomParentVO> result=param.getList();
Long n = 0L; if(CollUtil.isEmpty(param.getList())){
Long pages = 1L; result=getChild(param.getBomRowId());
}
@Override final ListSheet<EbomExcelEditVO> listSheet = new ListSheet<EbomExcelEditVO>(Convert.toList(EbomExcelEditVO.class,result) );
protected List<EbomExcelEditVO> more() {
return n++ < pages ? Convert.toList(EbomExcelEditVO.class, list) : null;
}
};
EecExcelUtil.eecExcel("bom列表", listSheet, response); EecExcelUtil.eecExcel("bom列表", listSheet, response);
} }
public void exportBom(List<Long> bomRowIds, HttpServletResponse response) throws IOException { public void exportBom(List<Long> bomRowIds, HttpServletResponse response) throws IOException {
final ListSheet<EbomExcelVO> listSheet = new ListSheet<EbomExcelVO>() {
Long n = 0L; List<BomNewEbomParentVO> child = getChildBatch(bomRowIds);
Long pages = 1L; final ListSheet<EbomExcelVO> listSheet = new ListSheet<>(Convert.toList(EbomExcelVO.class, child));
@Override
protected List<EbomExcelVO> more() {
List<BomNewEbomParentVO> child = getChildBatch(bomRowIds);
return n++ < pages ? Convert.toList(EbomExcelVO.class, child) : null;
}
};
EecExcelUtil.eecExcel("bom列表", listSheet, response); EecExcelUtil.eecExcel("bom列表", listSheet, response);
} }

View File

@ -501,7 +501,7 @@ public class BomNewOriginalParentService extends ServiceImpl<BomNewOriginalParen
// continue; // continue;
// } // }
LogRecordContext.putVariable("bom",parent); LogRecordContext.putVariable("coToEbom",parent);
Long ebomRowId = IdWorker.getId(); Long ebomRowId = IdWorker.getId();
try { try {

View File

@ -79,8 +79,8 @@ public class OriginalBomToEBomConvert extends BaseConvert {
List<BomOriginalListVO> noMaterialNo = data.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); List<BomOriginalListVO> noMaterialNo = data.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList());
SpringUtil.getBean(MaterialMainService.class).initMaterialForDrawdingNo(noMaterialNo, BomOriginalListVO::getDrawingNo, BomOriginalListVO::setMaterialNo, BomOriginalListVO::setMaterialName); SpringUtil.getBean(MaterialMainService.class).initMaterialForDrawdingNo(noMaterialNo, BomOriginalListVO::getDrawingNo, BomOriginalListVO::setMaterialNo, BomOriginalListVO::setMaterialName);
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(ImmutableList.of(parent),"material", "materialTexture","materialName"); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(ImmutableList.of(parent),"material", "materialTexture","materialName","projectType");
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail, "material", "materialTexture","materialName"); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail, "material", "materialTexture","materialName","projectType");
SpringUtil.getBean(MaterialMainService.class).initShouldBomExist(bomDetail, BomOriginalListVO::getMaterialCategoryCode, BomOriginalListVO::setShouldBomExist, BomOriginalListVO::getMaterialGetType); SpringUtil.getBean(MaterialMainService.class).initShouldBomExist(bomDetail, BomOriginalListVO::getMaterialCategoryCode, BomOriginalListVO::setShouldBomExist, BomOriginalListVO::getMaterialGetType);