From b7ffd6dfbec132f95e916c5aaa9a363403e76b2f Mon Sep 17 00:00:00 2001 From: 10001392 <1055202292@qq.com> Date: Mon, 17 Mar 2025 17:35:34 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=91=E9=87=87=E8=B4=AD=E7=89=A9=E6=96=99=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/user/material/MaterialMainApi.java | 10 ++++++ .../mapper/master/MaterialMainMapper.java | 2 ++ .../material/service/MaterialMainService.java | 31 +++++++++++++++++++ .../mapper/master/MaterialMainMapper.xml | 7 +++++ 4 files changed, 50 insertions(+) diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainApi.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainApi.java index 1ab8c81c..aae84c39 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainApi.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainApi.java @@ -372,6 +372,16 @@ public class MaterialMainApi extends BaseApi { materialMainService.materialStockTask(); } + + /** + * 手动从SAP获取物料的最近出库时间、最近采购价格、最近采购日期、物料价格 + * @throws Exception + */ + @GetMapping("materialPurchaseInfo") + public void materialPurchaseInfo() throws Exception { + materialMainService.materialPurchaseInfo(); + } + /** * 根据物料编码获取外形图片 * @throws Exception diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/mapper/master/MaterialMainMapper.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/mapper/master/MaterialMainMapper.java index e4f8930e..84bfa294 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/mapper/master/MaterialMainMapper.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/mapper/master/MaterialMainMapper.java @@ -84,4 +84,6 @@ public interface MaterialMainMapper extends BaseMapper { void updateBatchTwoYearsUsage(@Param("list") List list); List> getMaterialNoListDataMap(@Param("query") MaterialMainQuery query, @Param("startIndex") Long startIndex, @Param("pageSize")Long pageSize ); + + void saveBatchMaterialPrice(@Param("list") List> list); } diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialMainService.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialMainService.java index de2505d4..f7491075 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialMainService.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialMainService.java @@ -2264,6 +2264,7 @@ public class MaterialMainService extends ServiceImpl filterList = mResult.stream().filter(item -> Objects.nonNull(item.getLastOutWarehouseTime())).collect(Collectors.toList()); if (CollUtil.isEmpty(filterList)) { @@ -2275,6 +2276,36 @@ public class MaterialMainService extends ServiceImpl list) { + LocalDate localDate = LocalDate.now(); // 当前日期 + int now = localDate.getDayOfMonth(); + int length = localDate.lengthOfMonth(); + // 如果是月末最后一天 + if (now == length/*true*/) { + // 采购大类 + List purList = list.stream().filter(item -> ObjectUtil.isNotEmpty(item.getMaterialCategoryCode()) + && item.getMaterialCategoryCode().startsWith("10")).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(purList)) { + String storageDate = localDate.format(DateTimeFormatter.ofPattern("yyyyMM")); + List> mapList = new ArrayList<>(purList.size()); + purList.forEach(pur -> { + Map map = new HashMap<>(); + map.put("rowId", IdWorker.getId()); + map.put("materialNo", pur.getMaterialNo()); + map.put("materialPrice", pur.getMaterialPrice()); + map.put("materialUnit", ""); // 价格单位暂且位空 + map.put("storageDate", storageDate); + mapList.add(map); + }); + materialMainMapper.saveBatchMaterialPrice(mapList); + } + } + } + private void updateMaterialPurchaseInfo(List filterList) { if (CollUtil.isEmpty(filterList)) { return; diff --git a/nflg_project_dev/material/src/main/resources/mapper/master/MaterialMainMapper.xml b/nflg_project_dev/material/src/main/resources/mapper/master/MaterialMainMapper.xml index 4d77bed8..916e4a55 100644 --- a/nflg_project_dev/material/src/main/resources/mapper/master/MaterialMainMapper.xml +++ b/nflg_project_dev/material/src/main/resources/mapper/master/MaterialMainMapper.xml @@ -584,4 +584,11 @@ order by rowId desc limit #{startIndex} ,#{pageSize} + + + insert into t_material_main_price (`row_id`, `material_no`, `material_price`, `material_unit`, `storage_date`) values + + (#{item.rowId}, #{item.materialNo}, #{item.materialPrice}, #{item.materialUnit}, #{item.storageDate}) + +