Jelajahi Sumber

Merge remote-tracking branch 'origin/dev_huangjunjie'

yz 1 hari lalu
induk
melakukan
dd29e3e7a9

+ 7 - 0
docs/new_sql.sql

@@ -242,6 +242,13 @@ ALTER TABLE jsh_depot_head
   ADD COLUMN auditor BIGINT DEFAULT NULL COMMENT '复核人员',
   ADD COLUMN tax_rate DECIMAL(24,6) DEFAULT NULL COMMENT '税率';
 
+-- 商品批次 新增商品拓展id
+ALTER TABLE material_batch
+  ADD COLUMN material_extend_id BIGINT DEFAULT NULL COMMENT '商品拓展id';
+
+-- 2025-05-21 编号表添加供应商编号
+INSERT INTO `jsh_sequence` (`seq_name`, `min_value`, `max_value`, `current_val`, `increment_val`, `remark`) VALUES ('supplier_number_seq', '1', '999999999999999999', '1', '1', '供应商编号sequence');
+
 
 
 

+ 7 - 5
src/main/java/com/jsh/erp/service/impl/MaterialBatchServiceImpl.java

@@ -103,16 +103,18 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
         List<MaterialBatch> list = materialBatchMapper.getMaterialBatchByMaterialId(depotItem.getMaterialId(),depotItem.getDepotId());
         //根据单据子表基础单位数量减去批次库存
         BigDecimal basicNumber = depotItem.getBasicNumber();
-        if (mis.getNumber() != null && mis.getNumber().compareTo(basicNumber) >= 0){
+        if (mis != null && mis.getNumber() != null && mis.getNumber().compareTo(basicNumber) >= 0){
             //初期库存足够,扣除期初库存
             BigDecimal inventory = mis.getNumber().subtract(basicNumber);
             mis.setNumber(inventory);
             materialInitialStockMapper.updateByPrimaryKeySelective(mis);
         }else {
-            //初期库存不足,先扣除期初,再从批次扣除
-            basicNumber = basicNumber.subtract(mis.getNumber());
-            mis.setNumber(BigDecimal.ZERO);
-            materialInitialStockMapper.updateByPrimaryKeySelective(mis);
+            //初期库存不为空,先扣除期初,再从批次扣除
+            if (mis != null && mis.getNumber() != null){
+                basicNumber = basicNumber.subtract(mis.getNumber());
+                mis.setNumber(BigDecimal.ZERO);
+                materialInitialStockMapper.updateByPrimaryKeySelective(mis);
+            }
             for (MaterialBatch materialBatch : list) {
                 if (materialBatch.getInventory().compareTo(basicNumber) >= 0){
                     //批次库存足够,扣除库存,结束循环

+ 1 - 0
src/main/java/com/jsh/erp/service/impl/MaterialServiceImpl.java

@@ -1959,6 +1959,7 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> i
                         materialInitialStock.setMaterialId(material.getId());
                         materialInitialStock.setPosition(depots.length > 1 ? depots[1] : "");
                         materialInitialStockMapper.insertSelective(materialInitialStock);
+                        depotItemService.updateCurrentStockFun(material.getId(),depotId);
                     }
                 }
                 //添加商品子信息