fix(mapper): 修复批量插入和时间查询逻辑

- 修改 DmsBillsMaintDetail 批量插入语句为标准 insert into 格式并移除多余字段
- 为批量插入操作添加空集合检查避免无效执行
- 修复关机记录查询中时间范围条件的日期转换逻辑
- 添加参数非空验证防止查询异常
master
zangch@mesnac.com 2 days ago
parent aa6320e363
commit 26fcb8cc09

@ -131,7 +131,9 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
billsMaintDetails.add(dmsBillsMaintDetail);
});
if (!billsMaintDetails.isEmpty()) {
dmsBillsMaintInstanceMapper.batchDmsBillsMaintDetail(billsMaintDetails);
}
ArrayList<DmsBillsMaintDetailProject> list1 = new ArrayList<>();
List<DmsBillsMaintDetail> list = dmsBillsMaintDetailMapper.selectDetailList(maintInstanceId);
for (DmsBillsMaintDetail detail : list) {
@ -148,8 +150,10 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
}
}
if (!list1.isEmpty()) {
dmsBillsMaintInstanceMapper.batchDmsProject(list1);
}
}
@Override
public int updateDmsBillsMaintInstance(DmsBillsMaintInstance dmsBillsMaintInstance) {
@ -509,7 +513,9 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
detail.setCreateTime(now);
billsMaintDetails.add(detail);
}
if (!billsMaintDetails.isEmpty()) {
dmsBillsMaintInstanceMapper.batchDmsBillsMaintDetail(billsMaintDetails);
}
// 创建保养工单明细项目(所有项目均为已完成状态)
List<DmsBillsMaintDetail> insertedDetails = dmsBillsMaintDetailMapper.selectDetailList(instance.getMaintInstanceId());

@ -165,12 +165,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="batchDmsBillsMaintDetail">
insert all
<foreach item="item" index="index" collection="list">
into dms_bills_maint_detail(
bills_maint_detail_id, maint_instance_id, device_id, station_id, maint_standard_id,
operation_description, maint_status, is_flag, remark, create_by, create_time, update_by, update_time
) values (
insert into dms_bills_maint_detail(
bills_maint_detail_id, maint_instance_id, machine_id, maint_station_id, maint_standard_id,
operation_description, maint_status, remark, create_by, create_time, update_by, update_time
)
<foreach item="item" index="index" collection="list" separator="union all">
select
HAIWEI.SEQ_DMS_MAINT_DETAIL.NEXTVAL,
#{item.maintInstanceId,jdbcType=NUMERIC},
#{item.deviceId,jdbcType=NUMERIC},
@ -178,15 +178,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item.maintStandardId,jdbcType=NUMERIC},
#{item.operationDescription,jdbcType=VARCHAR},
#{item.maintStatus,jdbcType=NUMERIC},
#{item.isFlag,jdbcType=NUMERIC},
#{item.remark,jdbcType=VARCHAR},
#{item.createBy,jdbcType=NUMERIC},
#{item.createTime,jdbcType=TIMESTAMP},
#{item.updateBy,jdbcType=NUMERIC},
#{item.updateTime,jdbcType=TIMESTAMP}
)
from dual
</foreach>
select 1 from dual
</insert>
<insert id="batchDmsProject">
insert all

@ -57,8 +57,9 @@
<if test="beginTime != null and endTime != null">
and r.shut_begin_time between #{beginTime} and #{endTime}
</if>
<if test="params != null and params.beginTime != null and params.endTime != null">
and r.shut_begin_time between #{params.beginTime} and #{params.endTime}
<if test="params != null and params.beginTime != null and params.beginTime != '' and params.endTime != null and params.endTime != ''">
and r.shut_begin_time between to_date(#{params.beginTime}, 'yyyy-MM-dd HH24:mi:ss')
and to_date(#{params.endTime}, 'yyyy-MM-dd HH24:mi:ss')
</if>
<if test="shutBeginTime != null ">and r.shut_begin_time &gt;= #{shutBeginTime}</if>
<if test="shutEndTime != null ">and #{shutEndTime} &gt;= r.shut_end_time</if>

Loading…
Cancel
Save