Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

24282 2 gadi atpakaļ
vecāks
revīzija
3ad85b42e6

+ 6 - 0
hx-purchase/pom.xml

@@ -43,6 +43,12 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-account</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>hx-kd100</artifactId>
+            <version>3.8.5</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 6 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalServiceImpl.java

@@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.kd100.entity.company.po.CompanyInfo;
+import com.fjhx.kd100.service.company.CompanyInfoService;
 import com.fjhx.purchase.entity.arrival.dto.ArrivalDto;
 import com.fjhx.purchase.entity.arrival.dto.ArrivalSelectDto;
 import com.fjhx.purchase.entity.arrival.po.Arrival;
@@ -77,6 +79,8 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
     SubscribeService subscribeService;
     @Autowired
     PurchaseDetailService purchaseDetailService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
 
     @Override
     public Page<ArrivalVo> getPage(ArrivalSelectDto dto) {
@@ -167,6 +171,8 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
             JSONObject json1 = JSONObject.parseObject(victoriatouristJson1);
             Long receiptWarehouseId = json1.getLong("receiptWarehouseId");
             json.put("receiptWarehouseId",receiptWarehouseId);
+            CompanyInfo logisticsCompanyCode = companyInfoService.getOne(q -> q.eq(CompanyInfo::getCode, json.getString("logisticsCompanyCode")));
+            json.put("logisticsCompanyName",logisticsCompanyCode.getName());
         }
         //修改发货记录的状态为到货
         Long deliverGoodsId = json.getLong("deliverGoodsId");

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/stock/po/StockTransfer.java

@@ -25,6 +25,11 @@ public class StockTransfer extends BasePo {
     private String code;
 
     /**
+     * 调仓类型
+     */
+    private Integer type;
+
+    /**
      * 调出仓库id
      */
     private Long outWarehouseId;

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

@@ -110,6 +110,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
     @Override
     public void add(StockTransferDto stockTransferDto) {
         stockTransferDto.setCode(CodeEnum.STOCK_TRANSFER.getCode());
+        stockTransferDto.setType(1);
         stockTransferDto.setInStatus(0);
         this.save(stockTransferDto);
         List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
@@ -171,6 +172,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(3);
+        stockJournal.setCode(CodeEnum.STOCK_TRANSFER.getCode());
         stockJournal.setWarehouseId(stockTransfer.getOutWarehouseId());
         stockJournal.setToWarehouseId(stockTransfer.getInWarehouseId());
         stockJournal.setBusinessId(stockTransfer.getId());

+ 1 - 0
hx-victoriatourist/src/main/resources/mapper/stock/StockTransferMapper.xml

@@ -5,6 +5,7 @@
         select
             st.id,
             st.code,
+            st.type,
             st.out_warehouse_id,
             st.in_warehouse_id,
             st.in_user_id,

+ 1 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockJournalSelectDto.java

@@ -15,7 +15,7 @@ import lombok.Setter;
 public class StockJournalSelectDto extends BaseSelectDto {
 
     /**记录类型 1为手动入库 2为手动出库*/
-    private Integer type;
+    private String type;
 
     /**仓库id*/
     private String warehouseId;

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockJournal.java

@@ -24,6 +24,11 @@ public class StockJournal extends BasePo {
     /**
      * 操作类型 1手动入库
      */
+    private String code;
+
+    /**
+     * 操作类型 1手动入库
+     */
     private Integer type;
 
     /**

+ 18 - 29
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalServiceImpl.java

@@ -1,33 +1,29 @@
 package com.fjhx.wms.service.stock.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.wms.entity.stock.dto.StockJournalDto;
+import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
 import com.fjhx.wms.entity.stock.po.StockJournal;
+import com.fjhx.wms.entity.stock.vo.StockJournalVo;
 import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.fjhx.wms.entity.warehouse.po.Warehouse;
 import com.fjhx.wms.entity.warehouse.vo.WarehouseVo;
 import com.fjhx.wms.mapper.stock.StockJournalMapper;
 import com.fjhx.wms.service.stock.StockJournalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.wms.entity.stock.dto.StockJournalDto;
-import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
-import org.apache.ibatis.javassist.compiler.ast.Keyword;
-import org.apache.logging.log4j.core.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
-import com.ruoyi.common.utils.wrapper.IWrapper;
-import cn.hutool.core.bean.BeanUtil;
 
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 
 /**
@@ -51,33 +47,26 @@ public class StockJournalServiceImpl extends ServiceImpl<StockJournalMapper, Sto
     public Page<StockJournalVo> getPage(StockJournalSelectDto dto) {
         IWrapper<StockJournal> wrapper = getWrapper();
         wrapper.orderByDesc("sj", StockJournal::getCreateTime);
-        wrapper.eq("sj", StockJournal::getType, dto.getType());
+        if (ObjectUtils.isNotEmpty(dto.getType())) {
+            String[] split = dto.getType().split(",");
+            wrapper.in("sj", StockJournal::getType, split);
+        }
         wrapper.like("w", WarehouseVo::getName, dto.getKeyword());
         Page<StockJournalVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<StockJournalVo> records = page.getRecords();
         //根据id赋值操作人名称
         UserUtil.assignmentNickName(records, StockJournalVo::getCreateUser, StockJournalVo::setUserName);
         //如果为调参类型记录赋值目标仓库名称
-        if(dto.getType()==3){
-            List<Long> toWarehouseIds = records.stream().map(StockJournalVo::getToWarehouseId).collect(Collectors.toList());
-            if(ObjectUtils.isEmpty(toWarehouseIds)){
-                return page;
-            }
-            List<Warehouse> warehouses = warehouseService.listByIds(toWarehouseIds);
-            Map<Long, Warehouse> warehouseMap = warehouses.stream().collect(Collectors.groupingBy(Warehouse::getId,
-                    Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
-            for (StockJournalVo stockJournalVo:records){
-                Warehouse warehouse = warehouseMap.get(stockJournalVo.getToWarehouseId());
-                stockJournalVo.setToWarehouseName(warehouse.getName());
-            }
-        }
+        warehouseService.attributeAssign(records, StockJournalVo::getToWarehouseId, (item, warehouse) -> {
+            item.setToWarehouseName(warehouse.getName());
+        });
         return page;
     }
 
     @Override
     public StockJournalVo detail(Long id) {
         IWrapper<StockJournal> wrapper = getWrapper();
-        wrapper.eq("sj",StockJournal::getId,id);
+        wrapper.eq("sj", StockJournal::getId, id);
         StockJournalVo result = baseMapper.detail(wrapper);
         //查询商品信息
         List<StockVo> stockVos = result.getList();
@@ -86,16 +75,16 @@ public class StockJournalServiceImpl extends ServiceImpl<StockJournalMapper, Sto
 
         Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
                 Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
-        for (StockVo stockVo: stockVos){
+        for (StockVo stockVo : stockVos) {
             ProductInfo productInfo = productInfoMap.get(stockVo.getProductId());
-            if(productInfo==null){
-                throw new ServiceException("未知商品商品id->"+stockVo.getProductId());
+            if (productInfo == null) {
+                throw new ServiceException("未知商品商品id->" + stockVo.getProductId());
             }
             stockVo.setProductName(productInfo.getName());
         }
 
         //如果为调参记录
-        if(result.getType()==3){
+        if (result.getType() == 3) {
             //赋值目标仓库名称
             Warehouse byId = warehouseService.getById(result.getToWarehouseId());
             result.setToWarehouseName(byId.getName());

+ 15 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -23,6 +23,7 @@ import com.fjhx.wms.service.stock.StockJournalDetailsService;
 import com.fjhx.wms.service.stock.StockJournalService;
 import com.fjhx.wms.service.stock.StockService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.fjhx.wms.utils.CodeEnum;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -172,6 +173,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(stockDto.getType());
+        stockJournal.setCode(stockDto.getType()==1? CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
         stockJournal.setWarehouseId(stockDto.getWarehouseId());
         stockJournal.setBusinessId(stockDto.getBusinessId());
         //保存出入库记录
@@ -187,6 +189,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     public void edit(StockDto stockDto) {
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
+        stockJournal.setCode(stockDto.getType()==1? CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
         stockJournal.setType(stockDto.getType());
         stockJournal.setWarehouseId(stockDto.getWarehouseId());
         stockJournal.setBusinessId(stockDto.getBusinessId());
@@ -203,6 +206,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     public void stockTransfer(StockDto stockDto) {
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
+        stockJournal.setCode(CodeEnum.STOCK_TRANSFER.getCode());
         stockJournal.setType(3);
         stockJournal.setWarehouseId(stockDto.getWarehouseId());
         stockJournal.setToWarehouseId(stockDto.getToWarehouseId());
@@ -401,6 +405,17 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     private Long addJournal(Long warehouseId, JournalType journalType, Long businessId) {
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(journalType.getDetailType());
+        switch (journalType.getDetailType()){
+            case 1:
+                stockJournal.setCode(CodeEnum.SIN_CODE.getCode());
+                break;
+            case 2:
+                stockJournal.setCode(CodeEnum.SOUT_CODE.getCode());
+                break;
+            case 3:
+                stockJournal.setCode(CodeEnum.STOCK_TRANSFER.getCode());
+                break;
+        }
         stockJournal.setBusinessId(businessId);
         stockJournal.setWarehouseId(warehouseId);
         stockJournalService.save(stockJournal);

+ 4 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -18,6 +18,7 @@ import com.fjhx.wms.entity.warehouse.po.Warehouse;
 import com.fjhx.wms.mapper.stock.StockWaitMapper;
 import com.fjhx.wms.service.stock.*;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.fjhx.wms.utils.CodeEnum;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -122,6 +123,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             }
             JSONObject json = JSONObject.parseObject(victoriatouristJson);
             json.put("receiptWarehouseName", warehousesMap.get(json.getLong("receiptWarehouseId")));
+            stockWaitVo.setVictoriatouristJson(json.toJSONString());
         }
 
         return page;
@@ -176,6 +178,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(byId.getType() == 1 ? 4 : 5);
+        stockJournal.setCode(byId.getType()==1? CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
         stockJournal.setWarehouseId(stockWaitDto.getWarehouseId());
         stockJournal.setBusinessId(byId.getId());
         //保存出入库记录
@@ -234,6 +237,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(stockWaitDto.getType() == 1 ? 4 : 5);
+        stockJournal.setCode(stockWait.getType()==1?CodeEnum.SIN_CODE.getCode() : CodeEnum.SOUT_CODE.getCode());
         stockJournal.setWarehouseId(stockWaitDto.getWarehouseId());
         stockJournal.setBusinessId(stockWaitDto.getId());
         //保存出入库记录

+ 8 - 1
hx-wms/src/main/java/com/fjhx/wms/utils/CodeEnum.java

@@ -16,7 +16,14 @@ import java.util.Map;
 @Getter
 public enum CodeEnum {
 
-    CHECK_CODE("SC", "-yyMM-", "code", 3, StockCheckServiceImpl.class);
+    //盘点
+    CHECK_CODE("SC", "-yyMM-", "code", 3, StockCheckServiceImpl.class),
+    //调仓
+    STOCK_TRANSFER("SC", "-yyMM-", "code", 3, StockCheckServiceImpl.class),
+    //出入库入库
+    SIN_CODE("SI", "-yyMM-", "code", 3, StockCheckServiceImpl.class),
+    //出入库出库
+    SOUT_CODE("SO", "-yyMM-", "code", 3, StockCheckServiceImpl.class);
 
     CodeEnum(String prefix, String dateFormat, String codeFieldName, Integer length, Class<? extends IService<?>> serviceCls) {
         this.prefix = prefix;

+ 1 - 0
hx-wms/src/main/resources/mapper/stock/StockJournalMapper.xml

@@ -5,6 +5,7 @@
         SELECT
             sj.id,
             sj.type,
+            sj.code,
             sj.warehouse_id,
             w.NAME warehouseName,
             sj.to_warehouse_id,

+ 1 - 0
hx-wms/src/main/resources/mapper/stock/StockWaitMapper.xml

@@ -7,6 +7,7 @@
             sw.type,
             sw.business_id,
             sw.business_code,
+            sw.business_type,
             sw.product_id,
             sw.quantity,
             sw.receipt_quantity,