浏览代码

维多利亚

home 2 年之前
父节点
当前提交
e104a39e87

+ 2 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/enums/stock/InTypeEnum.java

@@ -16,6 +16,8 @@ public enum InTypeEnum {
     PURCHASE(1, "采购入库"),
     // 手动入库
     MANUAL(2, "手动入库"),
+
+    TRANSFER(7, "调仓入库"),
     ;
 
     private final int key;

+ 12 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/stock/StockTransferController.java

@@ -2,6 +2,7 @@ package com.fjhx.controller.stock;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.Condition;
+import com.fjhx.entity.stock.StockTransfer;
 import com.fjhx.params.stock.StockTransferAddVo;
 import com.fjhx.service.stock.StockTransferService;
 import org.springblade.core.tool.api.R;
@@ -40,5 +41,16 @@ public class StockTransferController {
         return R.success();
     }
 
+    /**
+     * 接收
+     */
+    @PostMapping("/receive")
+    public R receive(@RequestBody StockTransfer stockTransfer) {
+        stockTransferService.receive(stockTransfer);
+        return R.success();
+    }
+
+
+
 }
 

+ 1 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/stock/StockTransferMapper.xml

@@ -15,7 +15,7 @@
                st.create_user,
                st.create_time,
                st.in_time,
-               st.in_user,
+               iw.warehouse_keeper_id inUser,
                st.in_status
         from stock_transfer st
                  left join product_info pi on st.product_id = pi.id

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderInfoInfoServiceImpl.java

@@ -90,7 +90,8 @@ public class OrderInfoInfoServiceImpl extends ServiceImpl<OrderInfoMapper, Order
                 .eq("oi", OrderInfo::getProvinceId)
                 .eq("oi", OrderInfo::getCityId)
                 .ge("oi", OrderInfo::getAmountMoney, condition.get("minAmountMoney"))
-                .le("oi", OrderInfo::getAmountMoney, condition.get("maxAmountMoney"));
+                .le("oi", OrderInfo::getAmountMoney, condition.get("maxAmountMoney"))
+                .orderByDesc("oi", OrderInfo::getId);
 
         Page<OrderInfoEx> page = baseMapper.getPage(createPage(condition), wrapper);
 

+ 2 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockTransferService.java

@@ -22,4 +22,6 @@ public interface StockTransferService extends BaseService<StockTransfer> {
 
     void add(StockTransferAddVo stockTransferAddVo);
 
+    void receive(StockTransfer stockTransfer);
+
 }

+ 1 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockJournalServiceImpl.java

@@ -157,6 +157,7 @@ public class StockJournalServiceImpl extends ServiceImpl<StockJournalMapper, Sto
     public Page<Map<String, Object>> getManualOutPage(Condition condition) {
 
         IWrapper<Object> wrapper = IWrapper.getWrapper(condition)
+                .eq("sj", StockJournal::getType, StockJournalTypeConstant.OUT)
                 .like("sj", StockJournal::getCode)
                 .func(q -> {
                     Integer type = condition.getInt("type");

+ 7 - 9
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockServiceImpl.java

@@ -5,20 +5,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.constants.StatusConstant;
-import com.fjhx.constants.StockJournalTypeConstant;
 import com.fjhx.entity.stock.Stock;
-import com.fjhx.entity.stock.StockJournal;
 import com.fjhx.enums.stock.InTypeEnum;
-import com.fjhx.enums.stock.OutTypeEnum;
 import com.fjhx.mapper.stock.StockMapper;
 import com.fjhx.params.stock.StockChangeVo;
 import com.fjhx.params.stock.StockVo;
 import com.fjhx.service.stock.StockService;
-import com.fjhx.uitl.code.CodeEnum;
 import com.fjhx.utils.Assert;
 import com.fjhx.utils.WrapperUtil;
-import org.aspectj.apache.bcel.classfile.Code;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -109,14 +103,14 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
                 stock = new Stock();
                 stock.setWarehouseId(warehouseId);
                 stock.setGoodsId(goodsId);
-                if (typeEnum instanceof InTypeEnum) {
+                if (typeEnum.equals(InTypeEnum.PURCHASE)) {
                     stock.setFrozenQuantity(changeQuantity);
                 } else {
                     stock.setQuantity(changeQuantity);
                 }
                 map.put(key, stock);
             } else {
-                if (typeEnum instanceof InTypeEnum) {
+                if (typeEnum.equals(InTypeEnum.PURCHASE)) {
                     stock.setFrozenQuantity(stock.getFrozenQuantity().add(changeQuantity));
                 } else {
                     stock.setQuantity(stock.getQuantity().add(changeQuantity));
@@ -139,7 +133,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
 
             changeStock.setId(stock.getId());
             if (typeEnum instanceof InTypeEnum) {
-                changeStock.setFrozenQuantity(stock.getFrozenQuantity().add(changeStock.getFrozenQuantity()));
+                if (typeEnum.equals(InTypeEnum.PURCHASE)) {
+                    changeStock.setFrozenQuantity(stock.getFrozenQuantity().add(changeStock.getFrozenQuantity()));
+                } else {
+                    changeStock.setQuantity(stock.getQuantity().add(changeStock.getQuantity()));
+                }
             } else {
                 BigDecimal quantity = stock.getQuantity().subtract(changeStock.getQuantity());
                 Assert.geZero(quantity, "产品库存不足,出库失败");

+ 30 - 4
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockTransferServiceImpl.java

@@ -8,6 +8,7 @@ import com.fjhx.base.Condition;
 import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.stock.StockTransfer;
+import com.fjhx.enums.stock.InTypeEnum;
 import com.fjhx.enums.stock.OutTypeEnum;
 import com.fjhx.mapper.stock.StockTransferMapper;
 import com.fjhx.params.stock.ChangeProduct;
@@ -24,10 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -44,6 +42,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
     @Autowired
     private StockService stockService;
 
+
     @Override
     public Page<Map<String, Object>> getPage(Condition condition) {
 
@@ -52,6 +51,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         wrapper.eq("st", StockTransfer::getOutWarehouseId);
         wrapper.eq("st", StockTransfer::getInStatus);
         wrapper.keyword(new KeywordData("pi", ProductInfo::getName), new KeywordData("pi", ProductInfo::getCode));
+        wrapper.orderByDesc("st", StockTransfer::getId);
 
         Page<Map<String, Object>> page = baseMapper.getPage(condition.getPage(), wrapper);
         List<Map<String, Object>> records = page.getRecords();
@@ -112,4 +112,30 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         stockService.changeQuantity(stockChangeVo);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void receive(StockTransfer stockTransfer) {
+
+        StockTransfer byId = getById(stockTransfer);
+        Assert.eqTrue(StatusConstant.NO.equals(byId.getInStatus()), "物品已接收");
+
+        byId.setInUser(AuthUtil.getUserId());
+        byId.setInQuantity(stockTransfer.getInQuantity());
+        byId.setInTime(new Date());
+        byId.setInStatus(StatusConstant.YES);
+        updateById(byId);
+
+        StockChangeVo stockChangeVo = new StockChangeVo();
+        stockChangeVo.setDefaultBusinessId(byId.getId());
+        stockChangeVo.setDefaultWarehouseId(byId.getInWarehouseId());
+        stockChangeVo.setDefaultRemarks(byId.getRemark());
+        stockChangeVo.setTypeEnum(InTypeEnum.TRANSFER);
+
+        ChangeProduct changeProduct = new ChangeProduct();
+        changeProduct.setProductId(byId.getProductId());
+        changeProduct.setQuantity(stockTransfer.getInQuantity());
+        stockChangeVo.setChangeDetailsList(Collections.singletonList(changeProduct));
+        stockService.changeQuantity(stockChangeVo);
+    }
+
 }