From e32ac074e0cdc07b7551155e2e1c24684857f2b7 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期三, 03 十二月 2025 15:12:19 +0800
Subject: [PATCH] 修改内审

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/WarehousingRecordServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++---
 1 files changed, 35 insertions(+), 3 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/WarehousingRecordServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/WarehousingRecordServiceImpl.java
index 609f1fb..c4f48a1 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/WarehousingRecordServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/WarehousingRecordServiceImpl.java
@@ -6,11 +6,14 @@
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
 import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.PageUtils;
 import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Material;
 import com.gkhy.exam.system.domain.OutsourcedUnqualified;
 import com.gkhy.exam.system.domain.WarehousingRecord;
 import com.gkhy.exam.system.domain.WarehousingRecordDetails;
+import com.gkhy.exam.system.mapper.MaterialMapper;
 import com.gkhy.exam.system.mapper.WarehousingRecordDetailsMapper;
 import com.gkhy.exam.system.mapper.WarehousingRecordMapper;
 import com.gkhy.exam.system.service.WarehousingRecordService;
@@ -37,17 +40,33 @@
     private WarehousingRecordMapper warehousingRecordMapper;
     @Autowired
     private WarehousingRecordDetailsMapper warehousingRecordDetailsMapper;
+    @Autowired
+    private MaterialMapper materialMapper;
 
     @Override
     public CommonPage selectWarehousingRecordList(WarehousingRecord warehousingRecord) {
         PageUtils.startPage();
         List<WarehousingRecord> warehousingRecords = warehousingRecordMapper.selectWarehousingRecordList(warehousingRecord);
+        warehousingRecords.stream().forEach(item -> {
+            List<WarehousingRecordDetails> de = warehousingRecordDetailsMapper.selectList(
+                    new LambdaQueryWrapper<>(WarehousingRecordDetails.class).eq(WarehousingRecordDetails::getRecordId, item.getId())
+                            .eq(WarehousingRecordDetails::getDelFlag, UserConstant.ENABLE).orderByAsc(WarehousingRecordDetails::getCreateTime));
+            item.setWarehousingRecordDetails(de);
+        });
+        return CommonPage.restPage(warehousingRecords);
+    }
+
+    @Override
+    public CommonPage selectWarehousingRecordDetailList(WarehousingRecord warehousingRecord) {
+        PageUtils.startPage();
+        List<WarehousingRecordDetails> warehousingRecords = warehousingRecordDetailsMapper.selectWarehousingRecordDetailList(warehousingRecord);
         return CommonPage.restPage(warehousingRecords);
     }
 
     @Override
     @Transactional
     public CommonResult saveWarehousingRecord(WarehousingRecord warehousingRecord) {
+
         List<WarehousingRecordDetails> warehousingRecordDetails = warehousingRecord.getWarehousingRecordDetails();
         if (ObjectUtil.isEmpty(warehousingRecordDetails)){
             return CommonResult.validateFailed("请选择入库记录详情");
@@ -64,12 +83,19 @@
             i = warehousingRecordMapper.updateById(warehousingRecord);
         }
         if (i > 0){
-          batchSave(warehousingRecord.getId(), warehousingRecordDetails,warehousingRecord.getDelDetails());
+          batchSave(warehousingRecord.getId(), warehousingRecordDetails,warehousingRecord.getDelDetails(),warehousingRecord.getMaterialId(),warehousingRecord.getInventory());
         }
+
+
         return CommonResult.success();
     }
 
-    private void batchSave(Long id, List<WarehousingRecordDetails> warehousingRecordDetails,List<Long> delDetails) {
+    private void batchSave(Long id, List<WarehousingRecordDetails> warehousingRecordDetails,List<Long> delDetails,Long materialId,int inventory) {
+
+        Material material = materialMapper.selectById(materialId);
+        if (ObjectUtil.isEmpty(material)){
+            throw new ApiException("物料不存在");
+        }
         warehousingRecordDetails.stream().filter(item -> item.getId() == null).forEach(item -> {
             item.setRecordId(id);
             item.setCreateTime(LocalDateTime.now());
@@ -82,7 +108,7 @@
             item.setUpdateBy(SecurityUtils.getUsername());
             warehousingRecordDetailsMapper.updateById(item);
         });
-        if (delDetails != null){
+        if (ObjectUtil.isNotEmpty(delDetails)){
             warehousingRecordDetailsMapper.update(new WarehousingRecordDetails(),
                     new LambdaUpdateWrapper<WarehousingRecordDetails>().in(WarehousingRecordDetails::getId, delDetails)
                             .set(WarehousingRecordDetails::getDelFlag, UserConstant.DEPT_DISABLE)
@@ -90,6 +116,12 @@
                             .set(WarehousingRecordDetails::getUpdateBy, SecurityUtils.getUsername()));
         }
 
+        materialMapper.update(new Material(),
+                new LambdaUpdateWrapper<Material>().eq(Material::getId, materialId)
+                        .set(Material::getInventory, inventory)
+                        .set(Material::getUpdateTime, LocalDateTime.now())
+                        .set(Material::getUpdateBy, SecurityUtils.getUsername()));
+
     }
 
     @Override

--
Gitblit v1.9.2