From 7db0796c2fa839a757331bdd404cbb06ddae00e2 Mon Sep 17 00:00:00 2001 From: wuweihua <88888888> Date: Thu, 15 Oct 2026 16:37:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=97=E9=A4=90=E8=AF=A6=E6=83=85=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9F=A5=E7=9C=8B=E9=99=84=E4=BB=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/price/PriceSetController.java | 14 ++++ .../price/mapper/PrcPriceExcelFileMapper.java | 3 + .../service/IPrcPriceExcelFileService.java | 3 + .../impl/PrcPriceExcelFileServiceImpl.java | 11 ++++ .../mapper/price/PrcPriceExcelFileMapper.xml | 11 ++++ bms-front/src/api/price/set.js | 8 +++ .../detail/SetVersionExcelFileDrawer.vue | 66 +++++++++++++++++++ .../set/components/detail/SetVersionTable.vue | 5 +- bms-front/src/views/price/set/detail.vue | 9 +++ 9 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 bms-front/src/views/price/set/components/detail/SetVersionExcelFileDrawer.vue diff --git a/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java b/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java index 1beec34e..e46d58f1 100644 --- a/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java +++ b/bms-back/bms-admin/src/main/java/com/bms/web/controller/price/PriceSetController.java @@ -26,10 +26,12 @@ import com.bms.common.enums.BusinessType; import com.bms.common.utils.MessageUtils; import com.bms.common.utils.StringUtils; import com.bms.price.domain.PrcCustomerPriceSet; +import com.bms.price.domain.PrcPriceExcelFile; import com.bms.price.domain.PrcPriceSet; import com.bms.price.domain.PrcPriceSetDetail; import com.bms.price.domain.PrcPriceSetSaveTask; import com.bms.price.domain.PrcPriceSetVersion; +import com.bms.price.service.IPrcPriceExcelFileService; import com.bms.price.service.IPrcPriceSetService; /** @@ -44,6 +46,9 @@ public class PriceSetController extends BaseController @Autowired private IPrcPriceSetService priceSetService; + @Autowired + private IPrcPriceExcelFileService priceExcelFileService; + @PreAuthorize("@ss.hasPermi('price:set:list')") @GetMapping("/list") public TableDataInfo list(PrcPriceSet set) @@ -162,6 +167,15 @@ public class PriceSetController extends BaseController return toAjax(priceSetService.deleteVersion(psvId, getUsername())); } + /** Import excel attachments for a version (via prc_price_set_product.psv_id / pef_id). */ + @PreAuthorize("@ss.hasPermi('price:set:list')") + @GetMapping("/version/{psvId}/excelFiles") + public AjaxResult versionExcelFiles(@PathVariable Long psvId) + { + List list = priceExcelFileService.selectByPsvId(psvId); + return success(list); + } + @PreAuthorize("@ss.hasPermi('price:set:audit')") @Log(title = "Price set disable", businessType = BusinessType.UPDATE) @PutMapping("/disable/{priceSetId}") diff --git a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceExcelFileMapper.java b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceExcelFileMapper.java index a5f1bd06..9a62518c 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceExcelFileMapper.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/mapper/PrcPriceExcelFileMapper.java @@ -18,6 +18,9 @@ public interface PrcPriceExcelFileMapper public List selectByRedlineProductCode(@Param("productCode") String productCode); + /** Distinct excel files linked by prc_price_set_product.pef_id for a version. */ + public List selectByPsvId(@Param("psvId") Long psvId); + public int insertPrcPriceExcelFile(PrcPriceExcelFile row); public int updatePrcPriceExcelFile(PrcPriceExcelFile row); diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceExcelFileService.java b/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceExcelFileService.java index c985c228..ffb6fa2d 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceExcelFileService.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/IPrcPriceExcelFileService.java @@ -16,6 +16,9 @@ public interface IPrcPriceExcelFileService List selectByRedlineProductCode(String productCode); + /** Import excel files for a price-set version via prc_price_set_product.psv_id. */ + List selectByPsvId(Long psvId); + /** * Persist uploaded Excel under upload/price/excel and insert metadata row. * diff --git a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceExcelFileServiceImpl.java b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceExcelFileServiceImpl.java index 212a2869..4f3f7ccd 100644 --- a/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceExcelFileServiceImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/price/service/impl/PrcPriceExcelFileServiceImpl.java @@ -59,6 +59,17 @@ public class PrcPriceExcelFileServiceImpl implements IPrcPriceExcelFileService return list == null ? java.util.Collections.emptyList() : list; } + @Override + public List selectByPsvId(Long psvId) + { + if (psvId == null) + { + return Collections.emptyList(); + } + List list = excelFileMapper.selectByPsvId(psvId); + return list == null ? Collections.emptyList() : list; + } + @Override public PrcPriceExcelFile saveImportExcel(String excelType, Date effectiveTime, byte[] bytes, String filename, String operName) throws Exception diff --git a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceExcelFileMapper.xml b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceExcelFileMapper.xml index 928e96cb..c846c54d 100644 --- a/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceExcelFileMapper.xml +++ b/bms-back/bms-system/src/main/resources/mapper/price/PrcPriceExcelFileMapper.xml @@ -125,4 +125,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by f.effective_time desc, f.pef_id desc + + diff --git a/bms-front/src/api/price/set.js b/bms-front/src/api/price/set.js index 833fe37d..ced87e80 100644 --- a/bms-front/src/api/price/set.js +++ b/bms-front/src/api/price/set.js @@ -136,6 +136,14 @@ export function createPriceSetVersion(priceSetId) { }) } +/** Import excel attachments for a price-set version (via prc_price_set_product.psv_id). */ +export function listPriceSetVersionExcelFiles(psvId) { + return request({ + url: '/price/set/version/' + psvId + '/excelFiles', + method: 'get' + }) +} + export function deletePriceSetVersion(psvId) { return request({ url: '/price/set/version/' + psvId, diff --git a/bms-front/src/views/price/set/components/detail/SetVersionExcelFileDrawer.vue b/bms-front/src/views/price/set/components/detail/SetVersionExcelFileDrawer.vue new file mode 100644 index 00000000..3c81034e --- /dev/null +++ b/bms-front/src/views/price/set/components/detail/SetVersionExcelFileDrawer.vue @@ -0,0 +1,66 @@ + + + diff --git a/bms-front/src/views/price/set/components/detail/SetVersionTable.vue b/bms-front/src/views/price/set/components/detail/SetVersionTable.vue index e13f79c9..23fc8967 100644 --- a/bms-front/src/views/price/set/components/detail/SetVersionTable.vue +++ b/bms-front/src/views/price/set/components/detail/SetVersionTable.vue @@ -38,9 +38,10 @@ - +