|
|
@ -8,6 +8,7 @@ import com.win.framework.excel.core.util.ExcelUtils; |
|
|
|
import com.win.framework.operatelog.core.annotations.OperateLog; |
|
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
|
import com.win.module.system.api.user.dto.AdminUserRespDTO; |
|
|
|
import com.win.module.system.util.StringUtils; |
|
|
|
import com.win.module.wms.controller.sale.vo.*; |
|
|
|
import com.win.module.wms.convert.sale.SaleDetailConvert; |
|
|
|
import com.win.module.wms.dal.dataobject.sale.SaleDetailDO; |
|
|
@ -106,20 +107,22 @@ public class SaleDetailController { |
|
|
|
if (pageResult.getList().isEmpty()) { |
|
|
|
return result; |
|
|
|
} |
|
|
|
//销售订单主
|
|
|
|
List<SaleMainDO> saleMainDO = saleMainService.selectList(new LambdaQueryWrapper<SaleMainDO>().in(SaleMainDO::getId, result.getList().stream().map(SaleDetailRespVO::getMasterId).collect(Collectors.toSet()))); |
|
|
|
Map<Long, SaleMainDO> saleMainDOMap = saleMainDO.stream().collect(Collectors.toMap(SaleMainDO::getId, e -> e)); |
|
|
|
//结算订单查询条件
|
|
|
|
Set<String> lineNumberSet = pageResult.getList().stream().map(SaleDetailDO::getLineNumber).collect(Collectors.toSet()); |
|
|
|
Set<String> numberSet = pageResult.getList().stream().map(SaleDetailDO::getNumber).collect(Collectors.toSet()); |
|
|
|
Set<String> numberSet = saleMainDO.stream().filter(e -> e.getType().equals("DISCRETE")).map(SaleMainDO::getNumber).collect(Collectors.toSet()); |
|
|
|
Set<String> itemCodeSet = pageResult.getList().stream().map(SaleDetailDO::getItemCode).collect(Collectors.toSet()); |
|
|
|
//查询离散状态结算订单数据
|
|
|
|
LambdaQueryWrapper<SaleShipmentDetailDO> queryWrapper = new LambdaQueryWrapper(); |
|
|
|
queryWrapper.in(SaleShipmentDetailDO::getSoLine, lineNumberSet); |
|
|
|
queryWrapper.in(SaleShipmentDetailDO::getSoNumber, numberSet); |
|
|
|
queryWrapper.in(SaleShipmentDetailDO::getItemCode, itemCodeSet); |
|
|
|
List<SaleShipmentDetailDO> saleDetailList = saleShipmentDetailService.selectList(queryWrapper); |
|
|
|
|
|
|
|
List<SaleMainDO> saleMainDO = saleMainService.selectList(new LambdaQueryWrapper<SaleMainDO>().in(SaleMainDO::getId, result.getList().stream().map(SaleDetailRespVO::getMasterId).collect(Collectors.toSet()))); |
|
|
|
Map<Long, SaleMainDO> saleMainDOMap = saleMainDO.stream().collect(Collectors.toMap(SaleMainDO::getId, e -> e)); |
|
|
|
|
|
|
|
//计算
|
|
|
|
result.getList().stream().iterator().forEachRemaining(vo -> { |
|
|
|
if ("DISCRETE".equals(saleMainDOMap.get(vo.getMasterId()).getType())) { |
|
|
|
if (saleMainDOMap.get(vo.getMasterId()) != null && StringUtils.equals("DISCRETE", saleMainDOMap.get(vo.getMasterId()).getType())) { |
|
|
|
vo.setSubSettleQty(vo.getOrderQty()); |
|
|
|
List<SaleShipmentDetailDO> slist = saleDetailList.stream() |
|
|
|
.filter(saleDetailDO -> saleDetailDO.getSoLine().equals(vo.getLineNumber())) |
|
|
@ -163,5 +166,4 @@ public class SaleDetailController { |
|
|
|
} |
|
|
|
ExcelUtils.write(response, "销售订单子.xls", "数据", SaleDetailExcelVO.class, datas); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|