feat(crm): 添加合同号字段并优化发货单联查

- 在CrmOrder实体类中新增contractCode字段用于存储合同号
- 在CrmOrderBo业务对象中添加contractCode字段支持
- 在CrmOrderMapper中增加按合同号查询的方法
- 更新CrmOrderMapper.xml映射文件以支持合同号字段映射
- 实现CrmOrderServiceImpl中合同号条件查询功能
- 在CrmOrderVo视图对象中添加合同号字段并支持Excel导出
- 为WmsDeliveryWaybill添加关联订单ID字段建立与CRM订单关联
- 在WMS模块中实现发货单与CRM订单的关联查询功能
- 重构WmsDeliveryWaybillServiceImpl中的查询方法以支持多表关联查询
- 完善WMS发货单查询界面以支持按关联订单筛选功能
This commit is contained in:
2026-02-03 11:26:10 +08:00
parent 733432adc8
commit 7b75548da0
12 changed files with 198 additions and 4 deletions

View File

@@ -79,6 +79,12 @@ public class CrmOrder extends BaseEntity {
* 备注
*/
private String remark;
/**
* 合同号
*/
private String contractCode;
/**
* 删除标识 0正常 2删除
*/

View File

@@ -90,5 +90,10 @@ public class CrmOrderBo extends BaseEntity {
*/
private String remark;
/**
* 合同号
*/
private String contractCode;
}

View File

@@ -108,6 +108,12 @@ public class CrmOrderVo extends BaseEntity {
@ExcelProperty(value = "备注")
private String remark;
/**
* 合同号
*/
@ExcelProperty(value = "合同号")
private String contractCode;
// @ExcelProperty(value = "客户编号")
private String customerCode;

View File

@@ -16,4 +16,6 @@ import org.apache.ibatis.annotations.Param;
public interface CrmOrderMapper extends BaseMapperPlus<CrmOrderMapper, CrmOrder, CrmOrderVo> {
Page<CrmOrderVo> selectVoPagePlus(Page<Object> build,@Param("ew") QueryWrapper<CrmOrder> lqw);
CrmOrderVo selectVoById(@Param("orderId") String orderId);
}

View File

@@ -94,6 +94,7 @@ public class CrmOrderServiceImpl implements ICrmOrderService {
qw.eq(bo.getOrderStatus() != null, "co.order_status", bo.getOrderStatus());
qw.eq(bo.getFinanceStatus() != null, "co.finance_status", bo.getFinanceStatus());
qw.eq(bo.getUnpaidAmount() != null, "co.unpaid_amount", bo.getUnpaidAmount());
qw.like(StringUtils.isNotBlank(bo.getContractCode()), "co.contract_code", bo.getContractCode());
//逻辑删除
qw.eq("co.del_flag", 0);
//根据orderType排序预订单是0 正是订单是1 0排在前面 1排在后面 升序
@@ -126,6 +127,7 @@ public class CrmOrderServiceImpl implements ICrmOrderService {
lqw.eq(bo.getOrderStatus() != null, CrmOrder::getOrderStatus, bo.getOrderStatus());
lqw.eq(bo.getFinanceStatus() != null, CrmOrder::getFinanceStatus, bo.getFinanceStatus());
lqw.eq(bo.getUnpaidAmount() != null, CrmOrder::getUnpaidAmount, bo.getUnpaidAmount());
lqw.like(StringUtils.isNotBlank(bo.getContractCode()), CrmOrder::getContractCode, bo.getContractCode());
return lqw;
}

View File

@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="financeStatus" column="finance_status"/>
<result property="unpaidAmount" column="unpaid_amount"/>
<result property="remark" column="remark"/>
<result property="contractCode" column="contract_code"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
@@ -41,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
co.finance_status AS financeStatus,
co.unpaid_amount AS unpaidAmount,
co.remark,
co.contract_code AS contractCode,
co.create_by AS createBy,
co.create_time AS createTime,
co.update_by AS updateBy,
@@ -56,4 +58,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectVoById" resultType="com.klp.crm.domain.vo.CrmOrderVo">
SELECT
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,
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,
co.contract_code AS contractCode,
co.create_by AS createBy,
co.create_time AS createTime,
co.update_by AS updateBy,
co.update_time AS updateTime,
cu.customer_code AS customerCode,
cu.contact_person AS contactPerson,
cu.contact_way AS contactWay,
cu.company_name AS companyName,
cu.address AS address
FROM crm_order co
LEFT JOIN crm_customer cu ON co.customer_id = cu.customer_id
WHERE co.order_id = #{orderId}
</select>
</mapper>