From 816fdad6c45933eaa42ebffc2484339f9df42d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 26 Mar 2024 13:45:21 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix(feature/DM/nflg-bom):=20=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=98=AF=E8=87=AA=E5=B7=B1=E5=88=9B=E5=BB=BA=E7=9A=84?= =?UTF-8?q?=E6=A0=B9=E8=8A=82=E7=82=B9=E4=B8=94=E5=BC=82=E5=B8=B8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=BA=E2=80=9C=E9=A1=B9=E7=9B=AE=E7=B1=BB=E5=88=AB?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E2=80=9D=E6=97=B6=EF=BC=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=94=B9=E4=B8=BA=E6=AD=A3=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/BomNewEbomParentService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 48b41607..cb8e1297 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -144,8 +144,14 @@ public class BomNewEbomParentService extends ServiceImpl result = this.getBaseMapper().getEBomListPage(new Page<>(query.getPage(), query.getPageSize()), query, userRoleService.getUserJob(), SessionUtil.getUserCode()); - - materialMainService.intiMaterialInfo(result.getRecords(), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + if (!result.getRecords().isEmpty()) { + //如果是自己创建的根节点且异常状态为“项目类别为空”时,异常状态改为正常 + result.getRecords().stream() + .filter(f -> f.getCreatedBy().equals(SessionUtil.getUserCode()) + && Objects.equals(f.getExceptionStatus(), EBomExceptionStatusEnum.EXCEPT_NO_8.getValue())) + .forEach(f -> f.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue())); + materialMainService.intiMaterialInfo(result.getRecords(), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + } returnResult = result; } //动态判断异常 From a8242188225793fd132c3b17fd7c27155e68c799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 26 Mar 2024 13:55:49 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat(feature/DM/nflg-bom):=20pbom=E6=9A=82?= =?UTF-8?q?=E5=AD=98=E6=93=8D=E4=BD=9C=E8=BF=94=E5=9B=9E=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 因暂存操作是事务提交,当操作数据比较多时,可能事务还在提交中,但是前端查询列表请求已经过来了,这时会查询到脏数据 --- .../nflg/product/bomnew/api/user/PBomApi.java | 10 ++-------- .../bomnew/service/BomNewPbomParentService.java | 16 ++++++---------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 65e6a989..7e27982a 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -9,7 +9,6 @@ import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.PBomEditStatusEnum; import com.nflg.product.bomnew.constant.PBomStatusEnum; import com.nflg.product.bomnew.pojo.dto.*; -import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewTechnologyPackageTypeEntity; @@ -17,12 +16,10 @@ import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; -import com.nflg.product.bomnew.pojo.vo.BomNewTechnologyPackageTypeVO; import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.springframework.web.bind.annotation.*; @@ -30,10 +27,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.concurrent.ExecutionException; /** @@ -102,9 +97,8 @@ public class PBomApi extends BaseApi { @PostMapping("editStaging") @ApiOperation("编辑-暂存") @LogRecord(success = "PBom-编辑-暂存,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#param.bomRowId}}",type = "PBom-编辑-暂存") - public ResultVO editStaging(@Valid @RequestBody EditPBomParamDTO param){ - bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP); - return ResultVO.success(true); + public ResultVO> editStaging(@Valid @RequestBody EditPBomParamDTO param){ + return ResultVO.success(bomNewPbomParentService.editSave(param,PBomEditStatusEnum.HANDLER_TEMP)); } @PostMapping("editSubmit") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index ef4463db..55789f2e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -6,7 +6,6 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; -import com.alibaba.excel.enums.BooleanEnum; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -20,9 +19,6 @@ import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; import com.nflg.product.bomnew.pojo.dto.*; -import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapChildDTO; -import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapDTO; -import com.nflg.product.bomnew.pojo.dto.sap.ImportToSapParentDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; @@ -30,7 +26,6 @@ import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.domain.PBom.*; import com.nflg.product.bomnew.service.domain.Sap; import com.nflg.product.bomnew.util.*; -import com.nflg.product.bomnew.util.LevelNumUtil; import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.springframework.beans.factory.annotation.Qualifier; @@ -43,9 +38,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; -import java.text.SimpleDateFormat; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; @@ -310,7 +303,7 @@ public class BomNewPbomParentService extends ServiceImpl editSave(EditPBomParamDTO paramDTO, PBomEditStatusEnum editStatus) { BomNewPbomParentEntity parent = this.getById(paramDTO.getBomRowId()); VUtils.isTure(Objects.isNull(parent)).throwMessage("参数错误,该BOM不存在"); LogRecordContext.putVariable("bom",parent); @@ -321,8 +314,11 @@ public class BomNewPbomParentService extends ServiceImpl Date: Tue, 26 Mar 2024 16:26:35 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix(feature/DM/nflg-bom):=20pbom=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E8=A1=A8=E5=92=8C=E6=AD=A3=E5=BC=8F=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E8=A1=A8=E5=AF=BC=E5=87=BA=E5=BA=94=E5=8F=AA=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=89=80=E9=80=89=E6=8B=A9=E7=9A=84=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/api/user/PBomApi.java | 13 +++++++++---- .../mapper/master/BomNewPbomParentMapper.java | 2 ++ .../bomnew/service/BomNewPbomParentService.java | 6 ++++++ .../com/nflg/product/bomnew/util/EecExcelUtil.java | 13 +++++++++++++ .../mapper/master/BomNewPbomParentMapper.xml | 10 ++++++++-- 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 7e27982a..6069687b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -16,7 +16,9 @@ import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO; 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.util.EecExcelUtil; import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -77,15 +79,18 @@ public class PBomApi extends BaseApi { @PostMapping("exportWorkDetailsListByPage") @ApiOperation("导出工作列表--导出") @LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表") - public void exportWorkDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { - bomNewPbomParentService.workDetailsExcel(query,response); + public void exportWorkDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { + List 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-已发布工作列表") - public void releaseListDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { - bomNewPbomParentService.releaseListExcel(query,response); + public void releaseListDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { + List data = bomNewPbomParentService.exportExcel(bomRowIds); + EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom已发布明细列表"); } @GetMapping("getChild") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java index 9a1ed8c2..dbf42682 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java @@ -49,4 +49,6 @@ public interface BomNewPbomParentMapper extends BaseMapper exportExcel(List bomRowIds); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 55789f2e..ddbf0aef 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -220,6 +220,12 @@ public class BomNewPbomParentService extends ServiceImpl(result)).writeTo(response.getOutputStream()); } + public List exportExcel(List bomRowIds) { + List result = this.getBaseMapper().exportExcel(bomRowIds); + materialMainService.intiMaterialInfo(result, BomNewPbomWorkExcelVO::getMaterialNo, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + return result; + } + /** * 导出正式工作表 * diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/EecExcelUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/EecExcelUtil.java index 7c30fa57..864d61d1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/EecExcelUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/EecExcelUtil.java @@ -3,6 +3,8 @@ package com.nflg.product.bomnew.util; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.pojo.dto.BaseImportExcelDTO; import nflg.product.common.constant.STATE; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; import org.ttzero.excel.entity.ListSheet; import org.ttzero.excel.entity.Workbook; import org.ttzero.excel.reader.ExcelReader; @@ -172,4 +174,15 @@ public class EecExcelUtil { public static String StringTrim(String str) { return str.replaceAll("[\\s\\u00A0]+", "").trim(); } + + public static void export(HttpServletResponse response, List data,Class clazz,String name) throws IOException { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(name, "utf-8") + ".xlsx\""); + new Workbook().addSheet(new ListSheet() { + @Override + protected Class getTClass() { + return clazz; // 指定类型 + } + }.setData(data)).writeTo(response.getOutputStream()); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml index c12355d6..536e34ac 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml @@ -213,6 +213,12 @@ and b.material_no=#{materialNo} and b.created_by=#{jobNo} - - + From 46e4ad859061b6838c82a2a821076d6c99142d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 26 Mar 2024 18:51:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?revert(feature/DM/nflg-bom):=20=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=AF=BC=E5=87=BA=E5=92=8C=E5=85=A8=E9=83=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8F=82=E6=95=B0=E4=B8=8D=E4=B8=80=E8=87=B4=EF=BC=8C?= =?UTF-8?q?=E5=85=88=E8=BF=98=E5=8E=9F=EF=BC=8C=E6=98=8E=E5=A4=A9=E7=BB=A7?= =?UTF-8?q?=E7=BB=AD=E5=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/PBomApi.java | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 6069687b..2f097f7f 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -16,9 +16,7 @@ import com.nflg.product.bomnew.pojo.query.BomNewPbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomCopyCheckResultVO; 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.util.EecExcelUtil; import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -79,20 +77,34 @@ public class PBomApi extends BaseApi { @PostMapping("exportWorkDetailsListByPage") @ApiOperation("导出工作列表--导出") @LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表") - public void exportWorkDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { - List data = bomNewPbomParentService.exportExcel(bomRowIds); - //new Workbook().addSheet(new ListSheet<>(data)).writeTo(response.getOutputStream()); - EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom明细列表"); + public void exportWorkDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { + bomNewPbomParentService.workDetailsExcel(query,response); } @PostMapping("releaseListDownLoad") @ApiOperation("PBom已发布工作列表--导出") @LogRecord(success = "PBom-导出已发布工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-已发布工作列表") - public void releaseListDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { - List data = bomNewPbomParentService.exportExcel(bomRowIds); - EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom已发布明细列表"); + public void releaseListDownLoad(@RequestBody BomNewPbomParentQuery query ,HttpServletResponse response) throws IOException { + bomNewPbomParentService.releaseListExcel(query,response); } +// @PostMapping("exportWorkDetailsListByPage") +// @ApiOperation("导出工作列表--导出") +// @LogRecord(success = "PBom-导出工作列表,操作结果:{{#_ret}}", bizNo = "",type = "PBom-导出工作列表") +// public void exportWorkDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { +// List 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-已发布工作列表") +// public void releaseListDownLoad(@RequestBody List bomRowIds, HttpServletResponse response) throws IOException { +// List data = bomNewPbomParentService.exportExcel(bomRowIds); +// EecExcelUtil.export(response, data, BomNewPbomWorkExcelVO.class, "pbom已发布明细列表"); +// } + @GetMapping("getChild") @ApiOperation("获取子级") public ResultVO> getChild(@RequestParam("bomRowId") Long bomRowId){