Sfoglia il codice sorgente

物资-入库修改类型后,同步调整其他模块的入库类型修改

huangguoce 1 settimana fa
parent
commit
07f46f818b

+ 32 - 1
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/psiWareHouse/service/PsiWareHouseBasicService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -12,6 +13,10 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.jeeplus.common.TokenProvider;
 import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.flowable.feign.IFlowableApi;
+import com.jeeplus.psimanage.collect.domain.PsiCollectDetailed;
+import com.jeeplus.psimanage.collect.domain.PsiCollectDetailedRecord;
+import com.jeeplus.psimanage.collect.mapper.PsiCollectDetailedMapper;
+import com.jeeplus.psimanage.collect.mapper.PsiCollectDetailedRecordMapper;
 import com.jeeplus.psimanage.psiWareHouse.service.dto.PsiWareSummaryExportDto;
 import com.jeeplus.psimanage.purchase.domain.PsiMaterialBasic;
 import com.jeeplus.psimanage.purchase.domain.PsiMaterialDetailed;
@@ -102,6 +107,12 @@ public class PsiWareHouseBasicService {
     @Resource
     private PsiMaterialSupplierMapper psiMaterialSupplierMapper;
 
+    @Resource
+    private PsiCollectDetailedRecordMapper psiCollectDetailedRecordMapper;
+
+    @Resource
+    private PsiCollectDetailedMapper psiCollectDetailedMapper;
+
     /**
      * 列表查询
      */
@@ -377,7 +388,7 @@ public class PsiWareHouseBasicService {
                 // 入库详情修改
                 List<PsiWareHouseDetailed> wareHouseDetaileds = psiDetailedMapper.selectList(new LambdaQueryWrapper<PsiWareHouseDetailed>()
                         .eq(PsiWareHouseDetailed::getBasicId,info.getId()));
-                wareHouseDetaileds.stream().forEach(item -> {
+                wareHouseDetaileds.forEach(item -> {
                     if ("1".equals(item.getUpFlag()) || "2".equals(item.getUpFlag())) { // 将修改前的数据以及删除标记的数据删除
                         psiDetailedMapper.deleteById(item.getId());
                     } else if ("0".equals(item.getUpFlag())) {
@@ -385,6 +396,26 @@ public class PsiWareHouseBasicService {
                             psiDetailedMapper.upSourceIdEmpty(item.getId()); // 根据入库详情id置空sourceId
                         }
                     }
+                    //调整库存对应的入库类型
+                    List<PsiCollectDetailedRecord> recordList = psiCollectDetailedRecordMapper.selectList(
+                            new LambdaQueryWrapper<PsiCollectDetailedRecord>()
+                                    .eq(PsiCollectDetailedRecord::getInventoryId, item.getId())
+                                    .eq(PsiCollectDetailedRecord::getDelFlag,"0")
+                    );
+                    for (PsiCollectDetailedRecord psiCollectDetailedRecord : recordList) {
+                        if(!psiCollectDetailedRecord.getCollectType().equals(item.getWareHouseType())){
+                            psiCollectDetailedRecordMapper.update(
+                                    null,
+                                    new LambdaUpdateWrapper<PsiCollectDetailedRecord>()
+                                            .eq(PsiCollectDetailedRecord::getId, psiCollectDetailedRecord.getId())
+                                            .set(PsiCollectDetailedRecord::getCollectType, item.getWareHouseType()));
+                            psiCollectDetailedMapper.update( null,
+                                    new LambdaUpdateWrapper<PsiCollectDetailed>()
+                                            .eq(PsiCollectDetailed::getId, psiCollectDetailedRecord.getDetailId())
+                                            .set(PsiCollectDetailed::getCollectType, item.getWareHouseType()));
+
+                        }
+                    }
                 });
                 return dto.getId();
             }