|
@@ -1,29 +1,26 @@
|
|
|
package com.fjhx.mes.service.border.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.item.entity.product.po.ProductClassify;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
+import com.fjhx.mes.entity.border.dto.BorderOfLineDto;
|
|
|
+import com.fjhx.mes.entity.border.dto.BorderOfLineSelectDto;
|
|
|
import com.fjhx.mes.entity.border.po.BorderOfLine;
|
|
|
import com.fjhx.mes.entity.border.po.BorderOfLineJournal;
|
|
|
-import com.fjhx.mes.entity.border.vo.BorderOfLineJournalVo;
|
|
|
+import com.fjhx.mes.entity.border.vo.BorderOfLineVo;
|
|
|
import com.fjhx.mes.mapper.border.BorderOfLineMapper;
|
|
|
import com.fjhx.mes.service.border.BorderOfLineJournalService;
|
|
|
import com.fjhx.mes.service.border.BorderOfLineService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.wms.entity.stock.po.StockWait;
|
|
|
import com.fjhx.wms.service.stock.StockWaitService;
|
|
|
-import com.ruoyi.common.core.domain.BaseSelectDto;
|
|
|
-import org.checkerframework.checker.units.qual.A;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fjhx.mes.entity.border.vo.BorderOfLineVo;
|
|
|
-import com.fjhx.mes.entity.border.dto.BorderOfLineSelectDto;
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
-import com.fjhx.mes.entity.border.dto.BorderOfLineDto;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
@@ -37,7 +34,7 @@ import java.util.stream.Collectors;
|
|
|
* 线边管理 服务实现类
|
|
|
* </p>
|
|
|
*
|
|
|
- * @author
|
|
|
+ * @author
|
|
|
* @since 2023-03-31
|
|
|
*/
|
|
|
@Service
|
|
@@ -55,36 +52,60 @@ public class BorderOfLineServiceImpl extends ServiceImpl<BorderOfLineMapper, Bor
|
|
|
public Page<BorderOfLineVo> getPage(BorderOfLineSelectDto dto) {
|
|
|
IWrapper<BorderOfLine> wrapper = getWrapper();
|
|
|
wrapper.orderByDesc("bol", BorderOfLine::getId);
|
|
|
- wrapper.ne(BorderOfLine::getQuantity,0);
|
|
|
+ wrapper.ne(BorderOfLine::getQuantity, 0);
|
|
|
Page<BorderOfLineVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
List<BorderOfLineVo> records = page.getRecords();
|
|
|
- //赋值产品信息
|
|
|
- List<Long> productIds = records.stream().map(BorderOfLine::getProductId).collect(Collectors.toList());
|
|
|
- if(ObjectUtil.isNotEmpty(productIds)) {
|
|
|
- List<ProductInfo> productInfos = productInfoService.listByIds(productIds);
|
|
|
- if(ObjectUtil.isNotEmpty(productInfos)) {
|
|
|
- List<Long> productClassifyIds = productInfos.stream().map(ProductInfo::getProductClassifyId).collect(Collectors.toList());
|
|
|
- if(ObjectUtil.isNotEmpty(productClassifyIds)) {
|
|
|
- List<ProductClassify> productClassifies = productClassifyService.listByIds(productClassifyIds);
|
|
|
- if(ObjectUtil.isNotEmpty(productClassifies)) {
|
|
|
- Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
|
|
|
- Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
- Map<Long, ProductClassify> productClassifyMap = productClassifies.stream().collect(Collectors.groupingBy(ProductClassify::getId,
|
|
|
- Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
- for (BorderOfLineVo borderOfLineVo : records) {
|
|
|
- ProductInfo productInfo = productInfoMap.get(borderOfLineVo.getProductId());
|
|
|
- if (ObjectUtil.isNotEmpty(productInfo)){
|
|
|
- borderOfLineVo.setProductName(productInfo.getName());
|
|
|
- ProductClassify productClassify = productClassifyMap.get(productInfo.getProductClassifyId());
|
|
|
- if (ObjectUtil.isNotEmpty(productClassify)){
|
|
|
- borderOfLineVo.setProductTypeName(productClassify.getName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ if (records.size() == 0) {
|
|
|
+ return page;
|
|
|
}
|
|
|
+
|
|
|
+ //赋值产品名称
|
|
|
+ productInfoService.attributeAssign(records, BorderOfLine::getProductId, (item, productInfo) -> {
|
|
|
+ item.setProductName(productInfo.getName());
|
|
|
+ item.setClassifyId(productInfo.getProductClassifyId());
|
|
|
+ });
|
|
|
+
|
|
|
+ //赋值产品分类
|
|
|
+ productClassifyService.attributeAssign(records,BorderOfLineVo::getClassifyId,(item,classify)->{
|
|
|
+ item.setProductTypeName(classify.getName());
|
|
|
+ });
|
|
|
+
|
|
|
+// //赋值产品信息
|
|
|
+// List<Long> productIds = records.stream().map(BorderOfLine::getProductId).collect(Collectors.toList());
|
|
|
+// if (ObjectUtil.isEmpty(productIds)) {
|
|
|
+// return page;
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<ProductInfo> productInfos = productInfoService.listByIds(productIds);
|
|
|
+// List<Long> productClassifyIds = productInfos.stream().map(ProductInfo::getProductClassifyId).collect(Collectors.toList());
|
|
|
+// if (ObjectUtil.isEmpty(productClassifyIds)) {
|
|
|
+// return page;
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<ProductClassify> productClassifies = productClassifyService.listByIds(productClassifyIds);
|
|
|
+// if (ObjectUtil.isNotEmpty(productClassifies)) {
|
|
|
+// Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
|
|
|
+// Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
+// Map<Long, ProductClassify> productClassifyMap = productClassifies.stream().collect(Collectors.groupingBy(ProductClassify::getId,
|
|
|
+// Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
+// for (BorderOfLineVo borderOfLineVo : records) {
|
|
|
+// ProductInfo productInfo = productInfoMap.get(borderOfLineVo.getProductId());
|
|
|
+// if (ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
+//
|
|
|
+// borderOfLineVo.setProductName(productInfo.getName());
|
|
|
+//
|
|
|
+// ProductClassify productClassify = productClassifyMap.get(productInfo.getProductClassifyId());
|
|
|
+// if (ObjectUtil.isNotEmpty(productClassify)) {
|
|
|
+//
|
|
|
+// borderOfLineVo.setProductTypeName(productClassify.getName());
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
return page;
|
|
|
}
|
|
|
|
|
@@ -92,7 +113,7 @@ public class BorderOfLineServiceImpl extends ServiceImpl<BorderOfLineMapper, Bor
|
|
|
public BorderOfLineVo detail(BorderOfLineDto dto) {
|
|
|
BorderOfLine borderOfLine = getOne(q -> q.eq(BorderOfLine::getId, dto.getId()).or().eq(BorderOfLine::getProductId, dto.getProductId()));
|
|
|
BorderOfLineVo result = BeanUtil.toBean(borderOfLine, BorderOfLineVo.class);
|
|
|
- if(ObjectUtil.isNotEmpty(result)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(result)) {
|
|
|
ProductInfo productInfo = productInfoService.getById(result.getProductId());
|
|
|
if (ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
result.setProductName(productInfo.getName());
|
|
@@ -109,10 +130,10 @@ public class BorderOfLineServiceImpl extends ServiceImpl<BorderOfLineMapper, Bor
|
|
|
@Override
|
|
|
public void add(BorderOfLineDto borderOfLineDto) {
|
|
|
BorderOfLine borderOfLine = getOne(q -> q.eq(BorderOfLine::getProductId, borderOfLineDto.getProductId()));
|
|
|
- if(ObjectUtil.isNotEmpty(borderOfLine)){
|
|
|
+ if (ObjectUtil.isNotEmpty(borderOfLine)) {
|
|
|
borderOfLine.setQuantity(borderOfLine.getQuantity().add(borderOfLineDto.getQuantity()));
|
|
|
- }else {
|
|
|
- borderOfLine = BeanUtil.toBean(borderOfLineDto,BorderOfLine.class);
|
|
|
+ } else {
|
|
|
+ borderOfLine = BeanUtil.toBean(borderOfLineDto, BorderOfLine.class);
|
|
|
}
|
|
|
saveOrUpdate(borderOfLine);
|
|
|
//创建流水记录
|
|
@@ -135,7 +156,7 @@ public class BorderOfLineServiceImpl extends ServiceImpl<BorderOfLineMapper, Bor
|
|
|
borderOfLineJournal.setType(borderOfLineDto.getType());
|
|
|
borderOfLineJournalService.save(borderOfLineJournal);
|
|
|
//如果类型是"回仓"创建待入库数据
|
|
|
- if(borderOfLineDto.getType()==2){
|
|
|
+ if (borderOfLineDto.getType() == 2) {
|
|
|
StockWait stockWait = new StockWait();
|
|
|
stockWait.setType(1);
|
|
|
stockWait.setBusinessType(1);
|