feat(wms): 添加钢卷关联订单信息查询功能

- 在WmsCoilContractRelMapper中新增selectOrdersByCoilId和selectOrdersByCoilIds方法
- 在WmsCoilContractRelMapper.xml中实现钢卷与订单关联查询的SQL映射
- 扩展WmsCoilContractRelVo类添加订单相关字段和@JsonFormat注解
- 在WmsMaterialCoilServiceImpl中注入coilContractRelMapper并实现填充订单信息逻辑
- 在WmsMaterialCoilVo中添加orderList字段存储关联订单列表
- 实现根据钢卷ID查询完整订单信息的JOIN查询功能
This commit is contained in:
2026-04-18 11:49:10 +08:00
parent e1cc0fda34
commit 67cf5aa7cb
5 changed files with 269 additions and 31 deletions

View File

@@ -16,5 +16,125 @@
<result property="delFlag" column="del_flag"/>
</resultMap>
<!-- 根据钢卷ID查询关联的订单完整信息JOIN crm_order返回WmsCoilContractRelVo全量字段 -->
<select id="selectOrdersByCoilId" resultType="com.klp.domain.vo.WmsCoilContractRelVo">
SELECT
rel.rel_id AS relId,
rel.coil_id AS coilId,
rel.contract_id AS contractId,
rel.remark,
-- 订单信息
co.order_id AS orderId,
co.order_code AS orderCode,
co.order_type AS orderType,
co.customer_id AS customerId,
co.order_amount AS orderAmount,
co.salesman AS salesman,
co.delivery_date AS deliveryDate,
co.pre_order_status AS preOrderStatus,
co.audit_user AS auditUser,
co.audit_time AS auditTime,
co.order_status AS orderStatus,
co.finance_status AS financeStatus,
co.unpaid_amount AS unpaidAmount,
co.remark AS orderRemark,
co.contract_code AS contractCode,
co.contract_name AS contractName,
co.supplier AS supplier,
co.customer AS customer,
co.sign_time AS signTime,
co.sign_location AS signLocation,
co.product_content AS productContent,
co.contract_content AS contractContent,
co.supplier_address AS supplierAddress,
co.supplier_phone AS supplierPhone,
co.supplier_bank AS supplierBank,
co.supplier_account AS supplierAccount,
co.supplier_tax_no AS supplierTaxNo,
co.customer_address AS customerAddress,
co.customer_phone AS customerPhone,
co.customer_bank AS customerBank,
co.customer_account AS customerAccount,
co.customer_tax_no AS customerTaxNo,
co.tech_annex AS techAnnex,
co.business_annex AS businessAnnex,
co.production_schedule AS productionSchedule,
co.unit_price_remark AS unitPriceRemark,
co.deposit_payable AS depositPayable,
co.deposit_paid AS depositPaid,
co.deposit_ratio AS depositRatio,
co.status,
co.contract_id AS orderIdInOrder,
co.annex_files AS annexFiles,
co.create_by AS createBy,
co.create_time AS createTime,
co.update_by AS updateBy,
co.update_time AS updateTime
FROM wms_coil_contract_rel rel
INNER JOIN crm_order co ON rel.contract_id = co.order_id AND co.del_flag = 0
WHERE rel.coil_id = #{coilId} AND rel.del_flag = 0
</select>
</mapper>
<!-- 批量根据钢卷ID列表查询关联的订单完整信息 -->
<select id="selectOrdersByCoilIds" resultType="com.klp.domain.vo.WmsCoilContractRelVo">
SELECT
rel.rel_id AS relId,
rel.coil_id AS coilId,
rel.contract_id AS contractId,
rel.remark,
co.order_id AS orderId,
co.order_code AS orderCode,
co.order_type AS orderType,
co.customer_id AS customerId,
co.order_amount AS orderAmount,
co.salesman AS salesman,
co.delivery_date AS deliveryDate,
co.pre_order_status AS preOrderStatus,
co.audit_user AS auditUser,
co.audit_time AS auditTime,
co.order_status AS orderStatus,
co.finance_status AS financeStatus,
co.unpaid_amount AS unpaidAmount,
co.remark AS orderRemark,
co.contract_code AS contractCode,
co.contract_name AS contractName,
co.supplier AS supplier,
co.customer AS customer,
co.sign_time AS signTime,
co.sign_location AS signLocation,
co.product_content AS productContent,
co.contract_content AS contractContent,
co.supplier_address AS supplierAddress,
co.supplier_phone AS supplierPhone,
co.supplier_bank AS supplierBank,
co.supplier_account AS supplierAccount,
co.supplier_tax_no AS supplierTaxNo,
co.customer_address AS customerAddress,
co.customer_phone AS customerPhone,
co.customer_bank AS customerBank,
co.customer_account AS customerAccount,
co.customer_tax_no AS customerTaxNo,
co.tech_annex AS techAnnex,
co.business_annex AS businessAnnex,
co.production_schedule AS productionSchedule,
co.unit_price_remark AS unitPriceRemark,
co.deposit_payable AS depositPayable,
co.deposit_paid AS depositPaid,
co.deposit_ratio AS depositRatio,
co.status,
co.contract_id AS orderIdInOrder,
co.annex_files AS annexFiles,
co.create_by AS createBy,
co.create_time AS createTime,
co.update_by AS updateBy,
co.update_time AS updateTime
FROM wms_coil_contract_rel rel
INNER JOIN crm_order co ON rel.contract_id = co.order_id AND co.del_flag = 0
WHERE rel.coil_id IN
<foreach collection="coilIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
AND rel.del_flag = 0
</select>
</mapper>