|
@@ -1,15 +1,16 @@
|
|
|
package com.fjhx.service.jd.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
-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.base.BaseEntity;
|
|
|
+import com.fjhx.constants.StatusConstant;
|
|
|
import com.fjhx.entity.jd.JdBack;
|
|
|
import com.fjhx.entity.jd.JdBackDetails;
|
|
|
import com.fjhx.entity.product.ProductInfo;
|
|
|
+import com.fjhx.entity.quality.QualityInfo;
|
|
|
+import com.fjhx.enums.stock.QualityStatusEnum;
|
|
|
import com.fjhx.mapper.jd.JdBackMapper;
|
|
|
import com.fjhx.params.jd.JdBackEx;
|
|
|
import com.fjhx.params.jd.JdBackPageDto;
|
|
@@ -17,8 +18,9 @@ import com.fjhx.params.jd.JdBackVo;
|
|
|
import com.fjhx.service.jd.JdBackDetailsService;
|
|
|
import com.fjhx.service.jd.JdBackService;
|
|
|
import com.fjhx.service.product.ProductInfoService;
|
|
|
+import com.fjhx.service.quality.QualityInfoService;
|
|
|
import com.fjhx.service.warehouse.WarehouseService;
|
|
|
-import com.fjhx.utils.PageUtil;
|
|
|
+import com.fjhx.uitl.code.CodeEnum;
|
|
|
import org.springblade.core.excel.util.ExcelUtil;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -52,6 +54,9 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
|
|
|
@Autowired
|
|
|
private ProductInfoService productInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private QualityInfoService qualityInfoService;
|
|
|
+
|
|
|
@Override
|
|
|
public void add(JdBackVo jdBackVo) {
|
|
|
save(jdBackVo);
|
|
@@ -111,24 +116,37 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
|
|
|
|
|
|
});
|
|
|
|
|
|
+ Map<Long, List<JdBackDetails>> collect = jdBackDetailsList.stream().collect(Collectors.groupingBy(JdBackDetails::getJdBackId));
|
|
|
+ List<QualityInfo> qualityInfoList = new ArrayList<>();
|
|
|
+ for (Map.Entry<Long, List<JdBackDetails>> entry : collect.entrySet()) {
|
|
|
+ // 添加质检
|
|
|
+ QualityInfo qualityInfo = new QualityInfo();
|
|
|
+ qualityInfo.setType(2);
|
|
|
+ qualityInfo.setCode(CodeEnum.QUALITY.getCode());
|
|
|
+ qualityInfo.setLogisticsInfoId(entry.getKey());
|
|
|
+ qualityInfo.setLogisticsInfoCode(entry.getValue().get(0).getBackCode());
|
|
|
+ qualityInfo.setStatus(QualityStatusEnum.STATUS_1.getKey());
|
|
|
+ qualityInfo.setResultType(StatusConstant.YES);
|
|
|
+ qualityInfoList.add(qualityInfo);
|
|
|
+ }
|
|
|
+ qualityInfoService.saveBatch(qualityInfoList);
|
|
|
+
|
|
|
saveBatch(jdBackList);
|
|
|
jdBackDetailsService.saveBatch(jdBackDetailsList);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Page<JdBackEx> getPage(JdBackPageDto dto) {
|
|
|
+ QueryWrapper<Object> wrapper1 = new QueryWrapper();
|
|
|
+ wrapper1.like(ObjectUtil.isNotEmpty(dto.getWaybill()), "waybill", dto.getWaybill());
|
|
|
+ wrapper1.like(ObjectUtil.isNotEmpty(dto.getWarehouseId()), "warehouse_id", dto.getWarehouseId());
|
|
|
+ wrapper1.between(ObjectUtil.isAllNotEmpty(dto.getBeginTime(), dto.getEndTime()),
|
|
|
+ "create_time", dto.getBeginTime(), dto.getEndTime());
|
|
|
+ wrapper1.eq(ObjectUtil.isNotEmpty(dto.getQualityStatus()), "qi.status", dto.getQualityStatus());
|
|
|
|
|
|
- LambdaQueryWrapper<JdBack> wrapper = Wrappers.<JdBack>lambdaQuery()
|
|
|
- .like(ObjectUtil.isNotEmpty(dto.getWaybill()), JdBack::getWaybill, dto.getWaybill())
|
|
|
- .like(ObjectUtil.isNotEmpty(dto.getWarehouseId()), JdBack::getWarehouseId, dto.getWarehouseId())
|
|
|
- .between(ObjectUtil.isAllNotEmpty(dto.getBeginTime(), dto.getEndTime()),
|
|
|
- BaseEntity::getCreateTime, dto.getBeginTime(), dto.getEndTime());
|
|
|
-
|
|
|
- Page<JdBack> page = page(dto.getPage(), wrapper);
|
|
|
- Page<JdBackEx> jdBackExPage = PageUtil.copyPage(page, JdBackEx.class);
|
|
|
+ Page<JdBackEx> jdBackExPage = baseMapper.getPage(dto.getPage(), wrapper1);
|
|
|
|
|
|
List<JdBackEx> records = jdBackExPage.getRecords();
|
|
|
-
|
|
|
if (records.size() == 0) {
|
|
|
return jdBackExPage;
|
|
|
}
|