|
@@ -2,6 +2,7 @@ package com.ruoyi.ams.asn.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
|
|
|
|
+import com.ruoyi.ams.asn.domain.WmsDocAsnExportTime;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
|
|
import com.ruoyi.ams.asn.form.PaForm;
|
|
import com.ruoyi.ams.asn.form.PaForm;
|
|
import com.ruoyi.ams.asn.form.StockForm;
|
|
import com.ruoyi.ams.asn.form.StockForm;
|
|
@@ -27,7 +28,9 @@ import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
|
|
import com.ruoyi.ams.order.dto.WmsDocOrderDTO;
|
|
import com.ruoyi.ams.order.dto.WmsDocOrderDTO;
|
|
import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
|
|
import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
|
|
import com.ruoyi.ams.order.service.IActAllocationDetailsService;
|
|
import com.ruoyi.ams.order.service.IActAllocationDetailsService;
|
|
|
|
+import com.ruoyi.ams.order.service.IWmsDocOrderDetailsService;
|
|
import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
|
|
import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
|
|
|
|
+import com.ruoyi.ams.task.domain.WcsTask;
|
|
import com.ruoyi.ams.task.service.IWcsTaskService;
|
|
import com.ruoyi.ams.task.service.IWcsTaskService;
|
|
import com.ruoyi.base.constant.Constant;
|
|
import com.ruoyi.base.constant.Constant;
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
@@ -50,7 +53,9 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
* 入库单Service业务层处理
|
|
* 入库单Service业务层处理
|
|
@@ -119,6 +124,44 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
return wmsDocAsnHeaderMapper.selectWmsDocAsnHeaderList(wmsDocAsnHeader);
|
|
return wmsDocAsnHeaderMapper.selectWmsDocAsnHeaderList(wmsDocAsnHeader);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ * 按时间导出入库单头和明细列表
|
|
|
|
+ * */
|
|
|
|
+ @Override
|
|
|
|
+ public List<WmsDocAsnExportTime> selectWmsDocAsnHeaderExportTime(WmsDocAsnHeader wmsDocAsnHeader) {
|
|
|
|
+ List<WmsDocAsnHeader> wmsDocAsnHeaders = wmsDocAsnHeaderMapper.selectWmsDocAsnHeaderList(wmsDocAsnHeader);
|
|
|
|
+ WmsDocAsnDetails wmsDocAsnDetail = new WmsDocAsnDetails();
|
|
|
|
+ wmsDocAsnDetail.setParams(wmsDocAsnHeader.getParams());
|
|
|
|
+ List<WmsDocAsnDetails> wmsDocAsnDetails = wmsDocAsnDetailsMapper.selectWmsDocAsnDetailsList(wmsDocAsnDetail);
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
+
|
|
|
|
+ List<WmsDocAsnExportTime> result = wmsDocAsnHeaders.stream()
|
|
|
|
+ .flatMap(map1 -> wmsDocAsnDetails.stream()
|
|
|
|
+ .filter(map2 -> map2.getAsnNo().equals(map1.getAsnNo()))
|
|
|
|
+ .filter(map2 -> "DZ".equals(map1.getAsnType()) || "YK".equals(map1.getAsnType()))
|
|
|
|
+ .map(map2 -> {
|
|
|
|
+ String formattedDate = sdf.format(map2.getCreateTime());
|
|
|
|
+ BigDecimal receivedQty = map2.getReceivedQty() != null && !"0E-8".equals(map2.getReceivedQty().toString()) ? map2.getReceivedQty() : new BigDecimal("0");
|
|
|
|
+ if ("DZ".equals(map1.getAsnType())) {
|
|
|
|
+ return new WmsDocAsnExportTime(
|
|
|
|
+ formattedDate,
|
|
|
|
+ map2.getSku(),
|
|
|
|
+ receivedQty,
|
|
|
|
+ BigDecimal.ZERO);
|
|
|
|
+ } else {
|
|
|
|
+ return new WmsDocAsnExportTime(
|
|
|
|
+ formattedDate,
|
|
|
|
+ map2.getSku(),
|
|
|
|
+ BigDecimal.ZERO,
|
|
|
|
+ receivedQty);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ )
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
* 查询入库单
|
|
* 查询入库单
|
|
*
|
|
*
|