feat(oa): 新增根据项目ID查询送货单和工艺卡明细功能

- 在IOaDeliveryOrderDetailService和IOaProcessCardDetailService接口中新增queryListByProjectId方法
- 在对应的controller中增加listDetailsByProjectId接口,支持通过项目ID查询明细列表
- 实现service层逻辑,通过项目ID获取相关订单或卡片ID,再查询对应明细数据
- 扩展mapper接口和xml文件,新增selectVoListByOrderIds和selectVoListByCardIds方法用于批量查询
- 更新分页查询逻辑,优化查询条件构造器,加入项目关联信息查询支持
- 添加必要的导入语句及字段校验注解,确保参数合法性
- 补充项目相关信息字段到OaDeliveryOrderVo和OaProcessCardVo视图对象中
This commit is contained in:
2025-12-08 17:28:16 +08:00
parent 7051de1fab
commit 18cc98bc65
18 changed files with 252 additions and 4 deletions

View File

@@ -27,6 +27,36 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectVoListByOrderIds" resultType="com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo">
SELECT
detail_id AS detailId,
order_id AS orderId,
sequence,
box_no_total AS boxNoTotal,
equipment_station_no AS equipmentStationNo,
equipment_name AS equipmentName,
model_spec AS modelSpec,
quantity,
unit,
packaging_type AS packagingType,
net_weight AS netWeight,
gross_weight AS grossWeight,
volume,
box_size AS boxSize,
detail_remark AS detailRemark,
del_flag AS delFlag,
remark,
create_by AS createBy,
create_time AS createTime,
update_by AS updateBy,
update_time AS updateTime
FROM oa_delivery_order_detail
WHERE del_flag = '0' AND order_id IN
<foreach collection="orderIds" item="orderId" open="(" separator="," close=")">
#{orderId}
</foreach>
ORDER BY create_time DESC
</select>
</mapper>

View File

@@ -29,6 +29,33 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectVoPagePlus" resultType="com.ruoyi.oa.domain.vo.OaDeliveryOrderVo">
SELECT
odo.order_id AS orderId,
odo.delivery_order_no AS deliveryOrderNo,
odo.project_id AS projectId,
odo.contract_no AS contractNo,
odo.user_contract_no AS userContractNo,
odo.procurement_no AS procurementNo,
odo.delivery_destination AS deliveryDestination,
odo.delivery_address AS deliveryAddress,
odo.receiver AS receiver,
odo.receiver_phone AS receiverPhone,
odo.supplier_fullname AS supplierFullname,
odo.supplier_contact AS supplierContact,
odo.supplier_phone AS supplierPhone,
odo.receiving_company AS receivingCompany,
odo.actual_receiver AS actualReceiver,
odo.construction_company AS constructionCompany,
odo.delivery_remark AS deliveryRemark,
p.project_name AS projectName,
p.project_code AS projectCode,
p.project_num AS projectNum
FROM oa_delivery_order odo
LEFT JOIN sys_oa_project p ON odo.project_id = p.project_id
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -23,5 +23,30 @@
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectVoListByCardIds" resultType="com.ruoyi.oa.domain.vo.OaProcessCardDetailVo">
SELECT
detail_id AS detailId,
card_id AS cardId,
sequence,
process_name AS processName,
process_detail AS processDetail,
work_responsible_person AS workResponsiblePerson,
process_start_time AS processStartTime,
process_end_time AS processEndTime,
inspector,
unqualified_content AS unqualifiedContent,
del_flag AS delFlag,
remark,
create_by AS createBy,
create_time AS createTime,
update_by AS updateBy,
update_time AS updateTime
FROM oa_process_card_detail
WHERE del_flag = '0' AND card_id IN
<foreach collection="cardIds" item="cardId" open="(" separator="," close=")">
#{cardId}
</foreach>
ORDER BY create_time DESC
</select>
</mapper>

View File

@@ -19,6 +19,22 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectVoPagePlus" resultType="com.ruoyi.oa.domain.vo.OaProcessCardVo">
SELECT
oc.card_id AS cardId,
oc.project_id AS projectId,
oc.equipment_name AS equipmentName,
oc.equipment_quantity AS equipmentQuantity,
oc.manufacturing_leader AS manufacturingLeader,
oc.operation_leader AS operationLeader,
oc.planned_delivery_date AS plannedDeliveryDate,
p.project_name AS projectName,
p.project_code AS projectCode,
p.project_num AS projectNum,
FROM oa_process_card oc
LEFT JOIN sys_oa_project p ON oc.project_id = p.project_id
${ew.customSqlSegment}
</select>
</mapper>