feat: bug-755 生成送货单时选了所有托盘仍然提示数据未齐套

This commit is contained in:
曹鹏飞 2025-09-26 09:56:21 +08:00
parent 30c726d080
commit a363a5b610
6 changed files with 20 additions and 19 deletions

View File

@ -612,14 +612,11 @@ public class StructuralPackageOrderController extends BaseController {
@PostMapping("createDeliverOrder") @PostMapping("createDeliverOrder")
public ApiResult<Void> createDeliverOrder(@Valid @RequestBody @NotEmpty List<Long> ids) { public ApiResult<Void> createDeliverOrder(@Valid @RequestBody @NotEmpty List<Long> ids) {
List<DeliverStructuralPackageOrderExtendVO> trays = deliverStructuralPackageOrderTrayService.getListByIds(ids); List<DeliverStructuralPackageOrderExtendVO> trays = deliverStructuralPackageOrderTrayService.getListByIds(ids);
VUtil.trueThrowBusinessError(trays.stream().map(DeliverStructuralPackageOrderExtendVO::getPackageNo).collect(Collectors.toSet()).size() > 1) VUtil.trueThrowBusinessError(trays.stream().map(DeliverStructuralPackageOrderExtendVO::getOrderId).collect(Collectors.toSet()).size() > 1)
.throwMessage("钢构包必须一致"); .throwMessage("订单号必须一致");
VUtil.trueThrowBusinessError(trays.stream().map(DeliverStructuralPackageOrderExtendVO::getExternalOrderNo).collect(Collectors.toSet()).size() > 1) Long orderId = trays.get(0).getOrderId();
.throwMessage("采购单号必须一致");
Long packageId = trays.get(0).getPackageId();
String externalOrderNo = trays.get(0).getExternalOrderNo();
Long supplierId = trays.get(0).getSupplierId(); Long supplierId = trays.get(0).getSupplierId();
List<Long> tids = deliverStructuralPackageOrderTrayService.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo); List<Long> tids = deliverStructuralPackageOrderTrayService.getIdsByOrderId(orderId);
VUtil.trueThrowBusinessError(tids.size() != ids.size()).throwMessage("数据未齐套"); VUtil.trueThrowBusinessError(tids.size() != ids.size()).throwMessage("数据未齐套");
String deliverOrderNo = serialNumberControllerService.generateSerialNumber(7); String deliverOrderNo = serialNumberControllerService.generateSerialNumber(7);
WmsStructuralPackageDeliverOrder deliverOrder = new WmsStructuralPackageDeliverOrder() WmsStructuralPackageDeliverOrder deliverOrder = new WmsStructuralPackageDeliverOrder()

View File

@ -17,6 +17,11 @@ public class DeliverStructuralPackageOrderExtendVO extends DeliverStructuralPack
@ExcelColumn(value = "序号",colIndex = 0) @ExcelColumn(value = "序号",colIndex = 0)
private Integer index; private Integer index;
/**
* 订单id
*/
private Long orderId;
/** /**
* 托盘id * 托盘id
*/ */

View File

@ -33,5 +33,5 @@ public interface WmsStructuralPackageOrderTrayMapper extends BaseMapper<WmsStruc
DeliverStructuralPackageOrderTrayVO getInfoByNo(String no); DeliverStructuralPackageOrderTrayVO getInfoByNo(String no);
List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo); List<Long> getIdsByOrderId(Long orderId);
} }

View File

@ -42,7 +42,7 @@ public interface IWmsStructuralPackageOrderTrayService extends IService<WmsStruc
DeliverStructuralPackageOrderTrayVO getInfoByNo(@Valid @NotBlank String trayNo); DeliverStructuralPackageOrderTrayVO getInfoByNo(@Valid @NotBlank String trayNo);
List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo); List<Long> getIdsByOrderId(Long orderId);
void setStateByIds(@Valid @NotEmpty List<Long> ids, OrderState state); void setStateByIds(@Valid @NotEmpty List<Long> ids, OrderState state);
} }

View File

@ -74,8 +74,8 @@ public class WmsStructuralPackageOrderTrayServiceImpl extends ServiceImpl<WmsStr
} }
@Override @Override
public List<Long> getIdsByMaterialAndExternalOrderNo(Long packageId, String externalOrderNo) { public List<Long> getIdsByOrderId(Long orderId) {
return baseMapper.getIdsByMaterialAndExternalOrderNo(packageId, externalOrderNo); return baseMapper.getIdsByOrderId(orderId);
} }
@Override @Override

View File

@ -42,9 +42,9 @@
</select> </select>
<select id="getListByIds" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO"> <select id="getListByIds" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO">
SELECT ROW_NUMBER() OVER (ORDER BY o.id desc) AS "index",o.*,m.no||wb."no" AS "workbench_code",us.supplier_code,us.supplier_name,sp.order_no AS "package_order_no" SELECT ROW_NUMBER() OVER (ORDER BY o.id desc) AS "index",ot.order_id,o.*,m.no||wb."no" AS "workbench_code"
,sp."no" AS "package_no",sp."name" AS "package_desc",m."no" AS "model_no",ot.no as "tray_no",ot.tray,ot.station,ot.state ,us.supplier_code,us.supplier_name,sp.order_no AS "package_order_no",sp."no" AS "package_no"
,ot.id as "tray_id" ,sp."name" AS "package_desc",m."no" AS "model_no",ot.no as "tray_no",ot.tray,ot.station,ot.state,ot.id as "tray_id"
FROM wms_structural_package_order o FROM wms_structural_package_order o
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id" LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
LEFT JOIN user_supplier us ON o.supplier_id=us.id LEFT JOIN user_supplier us ON o.supplier_id=us.id
@ -90,10 +90,9 @@
where ot.no=#{no} where ot.no=#{no}
</select> </select>
<select id="getIdsByMaterialAndExternalOrderNo" resultType="java.lang.Long"> <select id="getIdsByOrderId" resultType="java.lang.Long">
select ot.id select id
from wms_structural_package_order o from wms_structural_package_order_tray
inner join wms_structural_package_order_tray ot on o.id=ot.order_id where order_id=#{orderId}
where o.external_order_no=#{externalOrderNo} and o.package_id=#{packageId}
</select> </select>
</mapper> </mapper>