Merge remote-tracking branch 'origin/master'

master
wanghao 1 day ago
commit dff0cfd164

@ -141,17 +141,11 @@ public class BizMaintenanceOrderController extends BaseController
{
BizMaintenanceOrder bizMaintenanceOrder = bizMaintenanceOrderService.selectBizMaintenanceOrderByOrderId(orderId);
mmap.put("bizMaintenanceOrder", bizMaintenanceOrder);
//查询前一个工
// 查询同车牌上一张已完成维保工单;“维保”按业务口径取上一单的维保后结果,不能再混入当前车辆实时装胎状态。
BizMaintenanceOrder bizMaintenanceOrderBefore = bizMaintenanceOrderService.selectBizMaintenanceOrderByOrderIdBefore(bizMaintenanceOrder);
BizOrderTireDetail bizOrderTireDetail = new BizOrderTireDetail();
List<Map> bizOrderTireDetailsBefore = new ArrayList<>();
if (bizMaintenanceOrderBefore==null){
//如果上一次的检查结果为空
//则数据为车辆目前的安装数据
//查询此车辆安装的轮胎数据
bizOrderTireDetailsBefore = bizOrderTireDetailService.selectBaseTrieInstall(bizMaintenanceOrder.getPlateNumber());
}else {
if (bizMaintenanceOrderBefore != null){
bizOrderTireDetail.setOrderId(bizMaintenanceOrderBefore.getOrderId());
bizOrderTireDetailsBefore = bizOrderTireDetailService.selectBizOrderTireDetail(bizOrderTireDetail);
}

@ -124,6 +124,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectBizMaintenanceOrderByOrderIdBefore"
resultMap="BizMaintenanceOrderResult" parameterType="BizMaintenanceOrder">
SELECT
order_id,
order_no,
vehicle_id,
plate_number,
type_code,
factoryName,
input_mileage,
last_mileage,
maintain_date,
description,
status,
order_type,
create_by,
create_time,
update_by,
update_time,
remark,
line
FROM
(
SELECT
order_id,
order_no,
@ -142,7 +163,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sus.user_name as update_by,
bmo.update_time,
bmo.remark,
bc.line
bc.line,
ROW_NUMBER() OVER (ORDER BY bmo.create_time DESC, bmo.order_id DESC) AS rn
FROM
biz_maintenance_order bmo
LEFT JOIN sys_dept sd ON bmo.factory_id = sd.dept_id
@ -152,9 +174,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE
bmo.order_id != #{orderId}
AND bmo.plate_number = #{plateNumber}
ORDER BY
bmo.create_time DESC -- 关键点1按照维保日期倒序排列最近的时间在前
LIMIT 1; -- 关键点2只取第一条数据
AND bmo.status = 'COMPLETED'
AND bmo.type_code IN ('1', '4')
<!-- 维保前按“上一张已完成维保工单的维保后结果”取数,必须排除当前工单之后创建的完成单。 -->
<if test="createTime != null">
AND (bmo.create_time &lt; #{createTime}
OR (bmo.create_time = #{createTime} AND bmo.order_id &lt; #{orderId}))
</if>
<if test="createTime == null">
AND bmo.order_id &lt; #{orderId}
</if>
) prev_order
WHERE prev_order.rn = 1
</select>
<insert id="insertBizMaintenanceOrder" parameterType="BizMaintenanceOrder" useGeneratedKeys="true" keyProperty="orderId">

Loading…
Cancel
Save