feat(wms): 添加物流预览和快递问题相关功能

- 新增物流预览和快递问题相关的实体类、Mapper、Service和Controller
- 实现物流预览列表查询、导出、详情获取、新增、修改和删除功能
- 实现快递问题列表查询、详情获取、新增、修改和删除功能
- 添加百世、顺丰、申通快递的路由查询工具类
- 更新pom.xml,添加fastjson2等依赖
- 修改application-stage.yml,禁用xxl-job
This commit is contained in:
2025-08-11 18:06:37 +08:00
parent 542b481155
commit 1cd1699bf3
40 changed files with 3321 additions and 2 deletions

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsExpressMapper">
<resultMap type="com.klp.domain.WmsExpress" id="WmsExpressResult">
<result property="expressId" column="express_id"/>
<result property="expressCode" column="express_code"/>
<result property="status" column="status"/>
<result property="supplyName" column="supply_name"/>
<result property="supplyPhone" column="supply_phone"/>
<result property="ownerId" column="owner_id"/>
<result property="ownerPhone" column="owner_phone"/>
<result property="planDate" column="plan_date"/>
<result property="expressType" column="express_type"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectVoPagePlus" resultType="com.klp.domain.vo.WmsExpressVo">
select oe.express_id,
oe.express_code,
oe.status,
oe.supply_name,
oe.supply_phone,
oe.owner_id,
oe.owner_phone,
oe.plan_date,
oe.express_type,
oe.create_by,
oe.create_time,
oe.update_by,
oe.update_time,
oe.last_status,
oe.last_update_time,
oe.del_flag,
oe.remark,
su.nick_name as ownerName
from wms_express oe
left join sys_user su on su.user_id = oe.owner_id
${ew.customSqlSegment}
</select>
<select id="selectVoByIdPlus" resultType="com.klp.domain.vo.WmsExpressVo">
select oe.express_id,
oe.express_code,
oe.status,
oe.supply_name,
oe.supply_phone,
oe.owner_id,
oe.owner_phone,
oe.plan_date,
oe.express_type,
oe.create_by,
oe.create_time,
oe.update_by,
oe.update_time,
oe.last_status,
oe.last_update_time,
oe.del_flag,
oe.remark,
su.nick_name as ownerName
from wms_express oe
left join sys_user su on su.user_id = oe.owner_id
where express_id = #{expressId}
</select>
</mapper>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsExpressQuestionMapper">
<resultMap type="com.klp.domain.WmsExpressQuestion" id="WmsExpressQuestionResult">
<result property="questionId" column="question_id"/>
<result property="expressId" column="express_id"/>
<result property="description" column="description"/>
<result property="reportTime" column="report_time"/>
<result property="reportBy" column="report_by"/>
<result property="status" column="status"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectVoPagePlus" resultType="com.klp.domain.vo.WmsExpressQuestionVo">
select oeq.question_id,
oeq.express_id,
oeq.description,
oeq.report_time,
oeq.report_by,
oeq.status,
oeq.create_time,
oeq.create_by,
oeq.update_time,
oeq.update_by,
oeq.del_flag,
oeq.remark,
oe.express_code
from wms_express_question oeq
left join wms_express oe on oe.express_id = oeq.express_id
${ew.getCustomSqlSegment}
</select>
</mapper>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsReportDetailMapper">
<resultMap type="com.klp.domain.WmsReportDetail" id="WmsReportDetailResult">
<result property="detailId" column="detail_id"/>
<result property="summaryId" column="summary_id"/>
<result property="deviceCode" column="device_code"/>
<result property="category" column="category"/>
<result property="deviceDescription" column="device_description"/>
<result property="reportDetail" column="report_detail"/>
<result property="ossIds" column="oss_ids"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectVoByIdPlus" parameterType="Long" resultType="com.klp.domain.vo.WmsReportDetailVo">
select ord.detail_id,
summary_id,
device_code,
category,
device_description,
report_detail,
oss_ids,
create_by,
create_time,
update_by,
update_time,
del_flag,
remark,
(
SELECT GROUP_CONCAT(so.url SEPARATOR ',')
FROM sys_oss so
WHERE FIND_IN_SET(so.oss_id, ord.oss_ids) > 0
) AS images
from wms_report_detail ord
where ord.detail_id = #{id}
</select>
<select id="queryByProjectId" resultType="com.klp.domain.vo.WmsReportDetailVo">
select ord.detail_id,
ord.summary_id,
ord.device_code,
ord.category,
ord.device_description,
ord.report_detail,
ord.oss_ids,
ord.create_by,
ord.create_time,
ord.update_by,
ord.update_time,
ord.del_flag,
ord.remark
from wms_report_detail ord
left join wms_report_summary ors on ors.summary_id = ord.summary_id
where project_id = #{projectId}
</select>
</mapper>

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsReportSummaryMapper">
<resultMap type="com.klp.domain.WmsReportSummary" id="OaReportSummaryResult">
<result property="summaryId" column="summary_id"/>
<result property="reportTitle" column="report_title"/>
<result property="reportDate" column="report_date"/>
<result property="reporter" column="reporter"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="type" column="type"/>
</resultMap>
<select id="selectVoPageWithProject" resultType="com.klp.domain.vo.WmsReportSummaryVo">
SELECT
s.summary_id as summaryId,
s.report_title AS reportTitle,
s.report_date AS reportDate,
s.reporter,
s.remark,
s.type,
d.latest_create_time AS lastUpdateTime
FROM wms_report_summary s
LEFT JOIN (
SELECT
summary_id,
create_time AS latest_create_time,
ROW_NUMBER() OVER (PARTITION BY summary_id ORDER BY create_time DESC) AS rn
FROM wms_report_detail
) d ON s.summary_id = d.summary_id AND d.rn = 1
<where>
<if test="bo.reportTitle != null and bo.reportTitle != ''">
AND s.report_title LIKE CONCAT('%', #{bo.reportTitle}, '%')
</if>
<if test="bo.reportDate != null">
AND s.report_date = #{bo.reportDate}
</if>
<if test="bo.reporter != null and bo.reporter != ''">
AND s.reporter LIKE CONCAT('%', #{bo.reporter}, '%')
</if>
<if test="bo.projectId != null">
AND s.project_id = #{bo.projectId}
</if>
<if test="bo.type != null">
AND s.type = #{bo.type}
</if>
AND s.del_flag = 0
</where>
ORDER BY
COALESCE(d.latest_create_time, s.report_date) DESC,
s.report_date DESC
</select>
</mapper>