出库单执行生成拣货单及取消执行删除拣货单;

This commit is contained in:
王奎兴
2026-06-29 18:02:40 +08:00
parent 4afe929020
commit 40ff9808b8
11 changed files with 227 additions and 22 deletions
@@ -1,5 +1,6 @@
package com.mhd.system.api;
import cn.hutool.json.JSONUtil;
import com.mhd.common.core.constant.ServiceNameConstants;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
@@ -133,4 +134,11 @@ public interface WmsServiceFeign {
*/
@GetMapping("/materialBaseInfoApi/getBatchByIds")
public TableDataInfo getBatchByIds(@RequestParam("materialBaseInfoIds") List<Long> materialBaseInfoIds);
/**
* 生成拣货单
*/
@ApiOperation("生成拣货单")
@PostMapping("/stockOutOrderApi/genPickingOrderByOms")
public AjaxResult genPickingOrderByOms(@RequestBody com.mhd.system.api.domain.StockOutOrderDTO stockOutOrderDTO);
}
@@ -123,6 +123,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectTmsReceiptPo1"/>
</select>
<select id="selectCnName" resultType="java.lang.String">
select chinese_name from NGWL_TEST_WLHY.TMS_SETTLEMENT_EXCHANGE_RATE where english_name = #{settlementCount}
select chinese_name from NGWL_TEST_WLHY.TMS_SETTLEMENT_EXCHANGE_RATE where english_name = #{settlementCount} limit 1
</select>
</mapper>
@@ -423,6 +423,8 @@ public class ExecutionStockOutOrderDomainService {
com.mhd.system.api.domain.StockOutOrderDTO stockOutOrderDTO = new com.mhd.system.api.domain.StockOutOrderDTO();
stockOutOrderDTO.setOutOrderNumber(outOrderNumber);
wmsServiceFeign.execution(stockOutOrderDTO);
wmsServiceFeign.genPickingOrderByOms(stockOutOrderDTO);
}
return update;
}
@@ -1123,6 +1123,34 @@ public class StockOutOrderApplicationService {
return b;
}
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
// if (outOrderIds != null && !outOrderIds.isEmpty()) {
// StockOutOrder order = stockOutOrderService.getById(outOrderIds.get(0));
// String needDeclareFlag = order.getNeedDeclareFlag();
// Long organizationId = order.getOrganizationId();
// try {
// if (needDeclareFlag != null && "1".equals(needDeclareFlag) && organizationId != null) {
// if (organizationId == 2830) {
// Long outOrderId = order.getOutOrderId();
// List<Long> ids = new ArrayList<>();
// ids.add(outOrderId);
// //batchPush(ids);
// } else {
// String outOrderId = order.getOutOrderNumber();
// List<String> ids = new ArrayList<>();
// ids.add(outOrderId);
// //omsServiceFeign.batchPushByNumber(ids);
// }
// }
// } catch (Exception e) {
// throw new ServiceException("生成报关单失败");
// }
// }
return b;
}
/**
* 获取出库单复核详细信息
*/
@@ -57,9 +57,12 @@ import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailBas
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.outOrderAbnormal.repository.facade.IOutOrderAbnormalService;
import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalBaseDO;
import com.mhd.wms.domain.pickingMaterialDetail.entity.PickingMaterialDetail;
import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMaterialDetailService;
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDO;
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
import com.mhd.wms.domain.pickingOrder.repository.todo.PickingOrderDO;
import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService;
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
@@ -144,7 +147,8 @@ public class StockOutOrderDomainService {
private IInventoryAdjustmentRecordService inventoryAdjustmentRecordService;
@Autowired
private IPickingMaterialDetailService pickingMaterialDetailService;
@Autowired
private IPickingOrderService pickingOrderService;
/**
* 分页查询出库单列表
*/
@@ -763,6 +767,144 @@ public class StockOutOrderDomainService {
return inserted;
}
@Transactional(rollbackFor = Exception.class)
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
.eq(StockOutOrder::getDelFlag, 1)
.in(StockOutOrder::getStatus,3,4)
.eq(StockOutOrder::getOutOrderNumber, stockOutOrderDO.getOutOrderNumber()));
if (CollectionUtils.isEmpty(stockOutOrderList)){
throw new ServiceException("只有已分配过的出库单才能生成拣货单");
}
//修改出库单状态为拣货中
List<Long> stockOutOrderId = stockOutOrderList.stream().map(StockOutOrder::getOutOrderId).collect(Collectors.toList());
StockOutOrder stockOutOrder = new StockOutOrder();
stockOutOrder.setStatus(6);
stockOutOrderService.update(stockOutOrder, new UpdateWrapper<StockOutOrder>().lambda().in(StockOutOrder::getOutOrderId, stockOutOrderId));
List<String> stockOutOrderNumber = stockOutOrderList.stream().map(StockOutOrder::getOutOrderNumber).collect(Collectors.toList());
List<OutMaterialDetail> list = outMaterialDetailService.list(new QueryWrapper<OutMaterialDetail>().lambda().in(OutMaterialDetail::getOutOrderNumber, stockOutOrderNumber).eq(OutMaterialDetail::getGenPickingOrder, 2));
if (CollectionUtils.isEmpty(list)){
throw new ServiceException("不存在已分配且未生成拣货单的物料明细,无法生成拣货单!");
}
List<String> outOrderNumberList = stockOutOrderList.stream().map(StockOutOrder::getOutOrderNumber).collect(Collectors.toList());
OutMaterialDetailDO outMaterialDetailDO = new OutMaterialDetailDO();
outMaterialDetailDO.setOutOrderNumberList(outOrderNumberList);
List<OutMaterialDetailPO> outMaterialDetailPOList = outMaterialDetailService.queryListChildren(outMaterialDetailDO);
Map<String, List<OutMaterialDetailPO>> outMaterialDetailPOListMap = outMaterialDetailPOList.stream().collect(Collectors.groupingBy(OutMaterialDetailPO::getOutOrderNumber));
List<PickingOrderDO> pickingOrderDOList = new ArrayList<>();
stockOutOrderList.forEach(p -> {
PickingOrderDO pickingOrderDO = new PickingOrderDO();
BeanUtils.copyProperties(p, pickingOrderDO);
pickingOrderDO.setOrderNumber(p.getOutOrderNumber());
pickingOrderDO.setPickingOrderNumber(OrderSequence.getOrderCode("JH"));
pickingOrderDO.setQuantity(p.getAllocationQuantity());
if (pickingOrderDO.getWarehouseId() == null && p.getWarehouseId() != null) {
pickingOrderDO.setWarehouseId(p.getWarehouseId());
pickingOrderDO.setWarehouseCode(p.getWarehouseCode());
pickingOrderDO.setWarehouseName(p.getWarehouseName());
}
List<OutMaterialDetailPO> outMaterialDetailPOS = outMaterialDetailPOListMap.get(p.getOutOrderNumber());
// 出库单头 warehouse_code 常为空,用已分配明细(含子行)第一条有仓库编码的行兜底
OutMaterialDetailPO warehouseFromDetail = firstOutDetailWithWarehouse(outMaterialDetailPOS);
if (warehouseFromDetail != null) {
if (StringUtils.isBlank(pickingOrderDO.getWarehouseCode())) {
pickingOrderDO.setWarehouseCode(warehouseFromDetail.getWarehouseCode());
}
if (StringUtils.isBlank(pickingOrderDO.getWarehouseName())
&& StringUtils.isNotBlank(warehouseFromDetail.getWarehouseName())) {
pickingOrderDO.setWarehouseName(warehouseFromDetail.getWarehouseName());
}
if (pickingOrderDO.getWarehouseId() == null && warehouseFromDetail.getWarehouseId() != null) {
pickingOrderDO.setWarehouseId(warehouseFromDetail.getWarehouseId());
}
}
List<PickingMaterialDetailDO> pickingMaterialDetailList = new ArrayList<>();
if (!CollectionUtils.isEmpty(outMaterialDetailPOS)){
outMaterialDetailPOS.forEach(outMaterialDetailPO -> {
BigDecimal allocationQuantity = outMaterialDetailPO.getAllocationQuantity();
if (allocationQuantity != null && allocationQuantity.compareTo(BigDecimal.ZERO) > 0) {
PickingMaterialDetailDO pickingMaterialDetailDO = new PickingMaterialDetailDO();
BeanUtils.copyProperties(outMaterialDetailPO, pickingMaterialDetailDO);
pickingMaterialDetailDO.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber());
pickingMaterialDetailDO.setQuantity(outMaterialDetailPO.getAllocationQuantity());
//设置出库明细关联id
pickingMaterialDetailDO.setOutUniqueId(outMaterialDetailPO.getUniqueId());
pickingMaterialDetailDO.setMaterialCode(outMaterialDetailPO.getMaterialNo());
pickingMaterialDetailDO.setMaterialName(outMaterialDetailPO.getCommodityName());
pickingMaterialDetailDO.setBarCode(outMaterialDetailPO.getBarCode());
//设置批次属性字段(从出库单明细中获取)
pickingMaterialDetailDO.setBatchRefNo(outMaterialDetailPO.getBatchRefNo());
pickingMaterialDetailDO.setSheetRefNo(outMaterialDetailPO.getSheetRefNo());
pickingMaterialDetailDO.setBoxPalletNo(outMaterialDetailPO.getBoxPalletNo());
pickingMaterialDetailDO.setExtAttr1(outMaterialDetailPO.getExtAttr1());
pickingMaterialDetailDO.setExtAttr2(outMaterialDetailPO.getExtAttr2());
pickingMaterialDetailDO.setProductionDate(outMaterialDetailPO.getProductionDate());
pickingMaterialDetailDO.setExpiryDate(outMaterialDetailPO.getExpiryDate());
pickingMaterialDetailDO.setInventoryDate(outMaterialDetailPO.getInventoryDate());
pickingMaterialDetailDO.setExtAttr3(outMaterialDetailPO.getExtAttr3());
pickingMaterialDetailDO.setExtAttr4(outMaterialDetailPO.getExtAttr4());
// 毛重、净重、面积、体积从出库单明细自动带出
pickingMaterialDetailDO.setTotalGrossWeight(outMaterialDetailPO.getTotalGrossWeight());
//判断是否是抄码商品净重
if (outMaterialDetailPO.getCopyTotalWeight() != null){
pickingMaterialDetailDO.setTotalNetWeight(outMaterialDetailPO.getCopyTotalWeight());
pickingMaterialDetailDO.setCopyCodeReferenceIds(outMaterialDetailPO.getCopyCodeReferenceIds());
}else {
pickingMaterialDetailDO.setTotalNetWeight(outMaterialDetailPO.getTotalNetWeight());
}
pickingMaterialDetailDO.setTotalArea(outMaterialDetailPO.getTotalArea());
pickingMaterialDetailDO.setTotalVolume(outMaterialDetailPO.getTotalVolume());
pickingMaterialDetailList.add(pickingMaterialDetailDO);
List<OutMaterialDetailPO> outMaterialDetailPOListChildren = outMaterialDetailPO.getChildren();
if (!CollectionUtils.isEmpty(outMaterialDetailPOListChildren)){
outMaterialDetailPOListChildren.forEach(outMaterialDetailPOChildren -> {
PickingMaterialDetailDO pickingMaterialDetailDOChildren = new PickingMaterialDetailDO();
BeanUtils.copyProperties(pickingMaterialDetailDO, pickingMaterialDetailDOChildren);
BeanUtils.copyProperties(outMaterialDetailPOChildren, pickingMaterialDetailDOChildren);
pickingMaterialDetailDOChildren.setPickingOrderNumber(pickingOrderDO.getPickingOrderNumber());
pickingMaterialDetailDOChildren.setQuantity(outMaterialDetailPOChildren.getAllocationQuantity());
//设置出库明细关联id
pickingMaterialDetailDOChildren.setOutUniqueId(outMaterialDetailPOChildren.getUniqueId());
pickingMaterialDetailDOChildren.setMaterialCode(outMaterialDetailPOChildren.getMaterialNo());
pickingMaterialDetailDOChildren.setMaterialName(outMaterialDetailPOChildren.getCommodityName());
pickingMaterialDetailDOChildren.setBarCode(outMaterialDetailPOChildren.getBarCode());
//设置批次属性字段(从出库单明细中获取)
pickingMaterialDetailDOChildren.setBatchRefNo(outMaterialDetailPOChildren.getBatchRefNo());
pickingMaterialDetailDOChildren.setSheetRefNo(outMaterialDetailPOChildren.getSheetRefNo());
pickingMaterialDetailDOChildren.setBoxPalletNo(outMaterialDetailPOChildren.getBoxPalletNo());
pickingMaterialDetailDOChildren.setExtAttr1(outMaterialDetailPOChildren.getExtAttr1());
pickingMaterialDetailDOChildren.setExtAttr2(outMaterialDetailPOChildren.getExtAttr2());
pickingMaterialDetailDOChildren.setProductionDate(outMaterialDetailPOChildren.getProductionDate());
pickingMaterialDetailDOChildren.setExpiryDate(outMaterialDetailPOChildren.getExpiryDate());
pickingMaterialDetailDOChildren.setInventoryDate(outMaterialDetailPOChildren.getInventoryDate());
pickingMaterialDetailDOChildren.setExtAttr3(outMaterialDetailPOChildren.getExtAttr3());
pickingMaterialDetailDOChildren.setExtAttr4(outMaterialDetailPOChildren.getExtAttr4());
// 毛重、净重、面积、体积从出库单明细子行自动带出
pickingMaterialDetailDOChildren.setTotalGrossWeight(outMaterialDetailPOChildren.getTotalGrossWeight());
pickingMaterialDetailDOChildren.setTotalNetWeight(outMaterialDetailPOChildren.getTotalNetWeight());
pickingMaterialDetailDOChildren.setTotalArea(outMaterialDetailPOChildren.getTotalArea());
pickingMaterialDetailDOChildren.setTotalVolume(outMaterialDetailPOChildren.getTotalVolume());
pickingMaterialDetailList.add(pickingMaterialDetailDOChildren);
});
}
}
});
pickingOrderDO.setMaterialDetailList(pickingMaterialDetailList);
}
pickingOrderDOList.add(pickingOrderDO);
});
Boolean inserted = pickingOrderDomainService.batchInsert(pickingOrderDOList);
if (Boolean.TRUE.equals(inserted)) {
List<String> pickingOrderNumbers = pickingOrderDOList.stream()
.map(PickingOrderDO::getPickingOrderNumber)
.filter(StringUtils::isNotBlank)
.collect(Collectors.toList());
pickingOrderDomainService.autoTaskDistributionAfterGenPickingOrders(pickingOrderNumbers);
}
return inserted;
}
/**
* 从出库明细树中取第一条带仓库编码的行(父行优先,再递归子行)
*/
@@ -1788,6 +1930,21 @@ public class StockOutOrderDomainService {
//逻辑删除出库单
stockOutOrder.setDelFlag(2);
stockOutOrderService.updateById(stockOutOrder);
PickingOrder pickingOrder = pickingOrderService.getOne(new LambdaQueryWrapper<PickingOrder>()
.eq(PickingOrder::getDelFlag, 1)
.eq(PickingOrder::getOrderNumber, outOrderNumber));
if (pickingOrder != null) {
String pickingOrderNumber = pickingOrder.getPickingOrderNumber();
List<PickingMaterialDetail> list = pickingMaterialDetailService.list(new LambdaQueryWrapper<PickingMaterialDetail>()
.eq(PickingMaterialDetail::getPickingOrderNumber, pickingOrderNumber)
.eq(PickingMaterialDetail::getDelFlag, 1));
for (PickingMaterialDetail pickingMaterialDetail : list) {
pickingMaterialDetail.setDelFlag(2);
pickingMaterialDetailService.updateById(pickingMaterialDetail);
}
pickingOrderService.updateById(pickingOrder);
}
}
@Transactional(rollbackFor = Exception.class)
@@ -326,6 +326,16 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
}
/**
* 生成拣货单
*/
@ApiOperation("生成拣货单")
@PostMapping("/genPickingOrderByOms")
public AjaxResult genPickingOrderByOms(@RequestBody com.mhd.system.api.domain.StockOutOrderDTO stockOutOrderDTO) {
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
return toAjax(stockOutOrderApplicationService.genPickingOrderByOms(stockOutOrderDO));
}
/**
* 复核下发
*/
@@ -121,7 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SUM( pmd.quantity ) AS material_quantity
FROM
picking_material_detail pmd
LEFT JOIN picking_order po ON po.picking_order_number = pmd.picking_order_number
LEFT JOIN picking_order po ON po.picking_order_number = pmd.picking_order_number and pmd.del_flag = 1 and po.del_flag=1
WHERE
po.STATUS IN ( 1, 2 )
GROUP BY
@@ -266,7 +266,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sio.abnormal
FROM
picking_material_detail rmd
LEFT JOIN picking_order sio ON sio.picking_order_number = rmd.picking_order_number
LEFT JOIN picking_order sio ON sio.picking_order_number = rmd.picking_order_number and rmd.del_flag = 1 and sio.del_flag=1
WHERE
sio.STATUS IN ( 1, 2 )
<include refid="whereForGetInfo"/>
@@ -329,7 +329,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="getCustomerCodeNcJson" parameterType="java.lang.String" resultType="java.lang.String">
SELECT ORG_CODE FROM NGWL_TEST_USER."USER_SHIPPER" where del_flag = 1 and SHIPPER_ID = #{actualInvoiceCustomerId} limit 1
SELECT ORG_CODE FROM NGWL_TEST_USER."USER_SHIPPER" where del_flag = 1 and USER_ID = #{actualInvoiceCustomerId} limit 1
</select>
@@ -817,7 +817,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sum( c.picking_quantity )
FROM
picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -870,7 +870,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
(
SELECT MAX(c.update_time)
FROM picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -899,7 +899,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL((
SELECT MAX(c.update_time)
FROM picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -1081,7 +1081,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sum( c.picking_quantity )
FROM
picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -1101,7 +1101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sum( c.picking_quantity )
FROM
picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -1200,7 +1200,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IFNULL((
SELECT MAX(c.update_time)
FROM picking_material_detail c
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER
LEFT JOIN picking_order d ON c.picking_order_number = d.PICKING_ORDER_NUMBER and c.del_flag = 1 and d.del_flag=1
left join STOCK_OUT_ORDER e ON d.ORDER_NUMBER = e.OUT_ORDER_NUMBER and e.del_flag = 1
WHERE
c.del_flag = 1 and d.STATUS = 3 and e.STATUS = 7
@@ -224,7 +224,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select
<include refid="selectPickingMaterialDetailPo"/>
from picking_material_detail a
left join out_material_detail omd on a.out_unique_id = omd.unique_id and omd.del_flag = 1
left join out_material_detail omd on a.out_unique_id = omd.unique_id and omd.del_flag = 1 and a.del_flag = 1
<where>
<include refid="selectPickingMaterialDetailPo1"/>
</where>
@@ -248,7 +248,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="sumPickingQuantityByOutOrderNumber" resultType="java.math.BigDecimal">
SELECT COALESCE(SUM(pmd.PICKING_QUANTITY), 0)
FROM picking_material_detail pmd
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1 and pmd.del_flag = 1
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
AND pmd.DEL_FLAG = 1
</select>
@@ -256,7 +256,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="countMaterialTypesByOutOrderNumber" resultType="java.lang.Integer">
SELECT COUNT(DISTINCT pmd.MATERIAL_BASE_INFO_ID)
FROM picking_material_detail pmd
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1 and pmd.del_flag = 1
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
AND pmd.DEL_FLAG = 1
AND COALESCE(pmd.PICKING_QUANTITY, 0) > 0
@@ -269,7 +269,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
COALESCE(SUM(pmd.picking_quantity), 0) AS sumPickingQty,
COUNT(DISTINCT CASE WHEN COALESCE(pmd.picking_quantity, 0) &gt; 0 THEN pmd.material_base_info_id END) AS materialTypeCount
FROM out_material_detail omd
LEFT JOIN picking_material_detail pmd ON pmd.out_unique_id = omd.unique_id AND pmd.del_flag = 1
LEFT JOIN picking_material_detail pmd ON pmd.out_unique_id = omd.unique_id AND pmd.del_flag = 1 AND omd.del_flag = 1
WHERE omd.out_order_number IN
<foreach collection="outOrderNumbers" item="num" open="(" separator="," close=")">
#{num}
@@ -281,7 +281,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectOutUniqueIdsWithPickingByOutOrderNumber" resultType="java.lang.Long">
SELECT DISTINCT pmd.OUT_UNIQUE_ID
FROM picking_material_detail pmd
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1 and pmd.del_flag = 1
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
AND pmd.DEL_FLAG = 1
AND COALESCE(pmd.PICKING_QUANTITY, 0) > 0
@@ -50,7 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
,a.push_status,a.push_time,a.push_by,a.push_by_name,
(SELECT m.goods_type FROM PICKING_MATERIAL_DETAIL d
JOIN material_base_info m ON d.material_base_info_id = m.material_base_info_id
WHERE d.PICKING_ORDER_NUMBER = a.PICKING_ORDER_NUMBER
WHERE d.PICKING_ORDER_NUMBER = a.PICKING_ORDER_NUMBER and d.del_flag = 1
LIMIT 1) AS goods_type
</sql>
@@ -144,7 +144,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPickingOrderPo"/>
,b.need_Declare_Flag
from picking_order a
left join STOCK_OUT_ORDER b ON a.order_number = b.out_Order_number and b.del_flag = 1
left join STOCK_OUT_ORDER b ON a.order_number = b.out_Order_number and b.del_flag = 1 and a.del_flag = 1
<where>
<include refid="selectPickingOrderPo1"/>
</where>
@@ -156,7 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper.joinStockOutOrderPo"/>
from picking_order a
left join stock_out_order b on a.order_number = b.out_order_number and b.del_flag = 1
left join stock_out_order b on a.order_number = b.out_order_number and b.del_flag = 1 and a.del_flag = 1
WHERE a.picking_order_id = #{pickingOrderId}
</select>
@@ -165,7 +165,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.waveOrder.repository.mapper.WaveOrderMapper.joinWaveOrderPo"/>
from picking_order a
left join wave_order b on a.order_number = b.wave_order_number
left join wave_order b on a.order_number = b.wave_order_number and a.del_flag = 1
WHERE a.picking_order_id = #{pickingOrderId}
</select>
@@ -174,7 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper.joinStockOutOrderPo"/>
from picking_order a
left join stock_out_order b on a.order_number = b.out_order_number and b.del_flag = 1
left join stock_out_order b on a.order_number = b.out_order_number and b.del_flag = 1 and a.del_flag = 1
WHERE a.order_number = #{orderNumber}
</select>
@@ -183,7 +183,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPickingOrderPo"/>
<include refid="com.mhd.wms.domain.waveOrder.repository.mapper.WaveOrderMapper.joinWaveOrderPo"/>
from picking_order a
left join wave_order b on a.order_number = b.wave_order_number
left join wave_order b on a.order_number = b.wave_order_number and a.del_flag = 1
WHERE a.order_number = #{orderNumber}
</select>