|
@@ -1,25 +1,25 @@
|
|
|
package com.fjhx.wms.service.stock.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
+import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
|
|
|
import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
|
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
|
import com.fjhx.wms.entity.stock.po.StockJournalDetails;
|
|
|
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
|
|
|
+import com.fjhx.wms.entity.stock.po.StockWait;
|
|
|
+import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
|
|
|
import com.fjhx.wms.mapper.stock.StockJournalDetailsMapper;
|
|
|
import com.fjhx.wms.service.stock.StockJournalDetailsService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
|
|
|
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsSelectDto;
|
|
|
+import com.fjhx.wms.service.stock.StockWaitService;
|
|
|
import com.fjhx.wms.service.warehouse.WarehouseService;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
|
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.StockJournalDetailsVo;
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -37,22 +37,27 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDetailsMapper, StockJournalDetails> implements StockJournalDetailsService {
|
|
|
@Autowired
|
|
|
- ProductInfoService productInfoService;
|
|
|
+ private ProductInfoService productInfoService;
|
|
|
@Autowired
|
|
|
- WarehouseService warehouseService;
|
|
|
+ private WarehouseService warehouseService;
|
|
|
+ @Autowired
|
|
|
+ private StockWaitService stockWaitService;
|
|
|
|
|
|
@Override
|
|
|
public Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto) {
|
|
|
IWrapper<StockJournalDetails> wrapper = getWrapper();
|
|
|
- wrapper.eq("sj.op_type",dto.getOpType());
|
|
|
- wrapper.eq("sj.type",dto.getType());
|
|
|
- wrapper.like("w.name",dto.getKeyword());
|
|
|
- wrapper.eq("w.id",dto.getWarehouseId());
|
|
|
- wrapper.eq("sj.to_warehouse_id",dto.getToWarehouseId());
|
|
|
- wrapper.eq("sjd.product_id",dto.getProductId());
|
|
|
+ wrapper.eq("sj.op_type", dto.getOpType());
|
|
|
+ wrapper.eq("sj.type", dto.getType());
|
|
|
+ wrapper.like("w.name", dto.getKeyword());
|
|
|
+ wrapper.eq("w.id", dto.getWarehouseId());
|
|
|
+ wrapper.eq("sj.to_warehouse_id", dto.getToWarehouseId());
|
|
|
+ wrapper.eq("sjd.product_id", dto.getProductId());
|
|
|
wrapper.orderByDesc("sj", StockJournal::getCreateTime);
|
|
|
Page<StockJournalDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
List<StockJournalDetailsVo> records = page.getRecords();
|
|
|
+ if (ObjectUtil.isEmpty(records)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
// 赋值产品属性
|
|
|
productInfoService.attributeAssign(records, StockJournalDetailsVo::getProductId, (item, product) -> {
|
|
|
item.setProductCode(product.getCode());
|
|
@@ -60,9 +65,10 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
|
item.setProductType(product.getType());
|
|
|
item.setProductName(product.getName());
|
|
|
item.setProductSpec(product.getSpec());
|
|
|
+ item.setProductCustomCode(product.getCustomCode());
|
|
|
});
|
|
|
//赋值操作人名称
|
|
|
- UserUtil.assignmentNickName(records,StockJournalDetailsVo::getCreateUser,StockJournalDetailsVo::setOpUserName);
|
|
|
+ UserUtil.assignmentNickName(records, StockJournalDetailsVo::getCreateUser, StockJournalDetailsVo::setOpUserName);
|
|
|
//赋值目标仓库名称
|
|
|
warehouseService.attributeAssign(records, StockJournalDetailsVo::getToWarehouseId, (item, warehouse) -> {
|
|
|
item.setToWarehouseName(warehouse.getName());
|
|
@@ -71,6 +77,28 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public Page<StockJournalDetailsVo> getPageByWdly(StockJournalSelectDto dto) {
|
|
|
+ Page<StockJournalDetailsVo> page = getPage(dto);
|
|
|
+ List<StockJournalDetailsVo> records = page.getRecords();
|
|
|
+ if (ObjectUtil.isEmpty(records)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+ //给采购退货的数据赋值关联单号
|
|
|
+ List<Long> swIds = records.stream().filter(x -> x.getType() == 13).map(StockJournalDetailsVo::getBusinessId).collect(Collectors.toList());
|
|
|
+ if (ObjectUtil.isNotEmpty(swIds)) {
|
|
|
+ Map<Long, StockWait> stockWaitMap = stockWaitService.mapKEntity(StockWait::getId, q -> q.in(StockWait::getId, swIds));
|
|
|
+ for (StockJournalDetailsVo record : records) {
|
|
|
+ StockWait stockWait = stockWaitMap.get(record.getBusinessId());
|
|
|
+ if(ObjectUtil.isEmpty(stockWait)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ record.setLinkCode(stockWait.getBusinessCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public StockJournalDetailsVo detail(Long id) {
|
|
|
StockJournalDetails StockJournalDetails = this.getById(id);
|
|
|
StockJournalDetailsVo result = BeanUtil.toBean(StockJournalDetails, StockJournalDetailsVo.class);
|