From dd08f3bd188b9f0f5f5bca19e9c32453f09dc655 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Mon, 29 Dec 2025 18:49:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(dms):=20=E6=B7=BB=E5=8A=A0=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=94=9F=E6=88=90=E5=B7=A1=E6=A3=80?= =?UTF-8?q?=E4=BF=9D=E5=85=BB=E5=B7=A5=E5=8D=95=E5=8F=8A=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E9=97=AD=E7=8E=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现巡检计划定时生成工单功能,每天0点自动执行 - 实现保养计划定时生成工单功能,每天0点自动执行 - 完善维修工单与故障报修状态联动机制 - 添加维修工单自动创建派工计划功能 - 实现维修工单完成时自动生成维修记录 - 优化数据库查询添加jdbcType类型声明 - 统一设备ID字段映射为machine_id保持一致性 - 添加日志记录便于问题追踪和系统监控 --- .../main/java/com/aucma/MESApplication.java | 2 + .../impl/DmsPlanInspectServiceImpl.java | 91 +++++++++- .../service/impl/DmsPlanMaintServiceImpl.java | 73 ++++++++ .../impl/DmsRepairWorkOrderServiceImpl.java | 166 +++++++++++++++++- .../mapper/dms/DmsBaseInspectRouteMapper.xml | 2 +- .../dms/DmsInspectRouteDetailMapper.xml | 20 +-- .../mapper/dms/DmsPlanInspectMapper.xml | 103 ++++++----- .../mapper/dms/DmsPlanMaintDetailMapper.xml | 7 +- 8 files changed, 383 insertions(+), 81 deletions(-) diff --git a/aucma-admin/src/main/java/com/aucma/MESApplication.java b/aucma-admin/src/main/java/com/aucma/MESApplication.java index 8316688..6af02a7 100644 --- a/aucma-admin/src/main/java/com/aucma/MESApplication.java +++ b/aucma-admin/src/main/java/com/aucma/MESApplication.java @@ -3,6 +3,7 @@ package com.aucma; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.scheduling.annotation.EnableScheduling; /** * 启动程序 @@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; * @author ruoyi */ @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) +@EnableScheduling public class MESApplication { public static void main(String[] args) diff --git a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectServiceImpl.java b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectServiceImpl.java index c81cc37..c0cc003 100644 --- a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectServiceImpl.java +++ b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanInspectServiceImpl.java @@ -23,9 +23,15 @@ import com.aucma.dms.mapper.DmsBaseInspectRouteMapper; import com.aucma.dms.mapper.DmsPlanInspectMapper; import com.aucma.dms.service.IDmsPlanInspectService; import com.aucma.quartz.util.CronUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import java.util.Map; + import java.util.Date; import java.util.List; @@ -38,12 +44,17 @@ import java.util.List; @Service public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService { + private static final Logger log = LoggerFactory.getLogger(DmsPlanInspectServiceImpl.class); + @Autowired private DmsPlanInspectMapper dmsPlanInspectMapper; /* @Autowired private RemoteJobService remoteJobService;*/ @Autowired private DmsBaseInspectRouteMapper dmsBaseInspectRouteMapper; + + @Autowired + private JdbcTemplate jdbcTemplate; /** * 查询巡检计划信息 @@ -93,8 +104,11 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService { List dmsPlanInspects = dmsPlanInspectMapper.selectDmsPlanInspectList(dmsPlanInspect); for (DmsPlanInspect planInspect : dmsPlanInspects) { - String routeName = dmsBaseInspectRouteMapper.selectRouteName(planInspect.getInspectRouteId()); - planInspect.setRouteName(routeName); + // 只有当inspectRouteId不为空时才查询线路名称 + if (planInspect.getInspectRouteId() != null) { + String routeName = dmsBaseInspectRouteMapper.selectRouteName(planInspect.getInspectRouteId()); + planInspect.setRouteName(routeName); + } } @@ -219,4 +233,77 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService return dmsPlanInspectMapper.selectPlanInspectJoinJobByInspectId(planInspectId); } + + /** + * 定时任务:每天0点根据巡检计划生成巡检工单 + * cron表达式:秒 分 时 日 月 周 + */ + @Scheduled(cron = "0 0 0 * * ?") + public void generateDailyInspectWorkOrders() { + log.info("========== 开始执行巡检工单生成任务 =========="); + int count = 0; + try { + // 查询今天需要执行的巡检计划(plan_time <= 今天) + String sql = "SELECT plan_inspect_id, plan_inspect_code, inspect_type, inspect_route_id, " + + "device_amount, time_limit, cycle_period, performer " + + "FROM dms_plan_inspect " + + "WHERE (is_flag = '1' OR is_flag IS NULL) " + + "AND plan_time <= TRUNC(SYSDATE) + 1"; + + List> plans = jdbcTemplate.queryForList(sql); + + for (Map plan : plans) { + try { + Long planInspectId = ((Number) plan.get("PLAN_INSPECT_ID")).longValue(); + String planInspectCode = (String) plan.get("PLAN_INSPECT_CODE"); + Long inspectRouteId = plan.get("INSPECT_ROUTE_ID") != null ? + ((Number) plan.get("INSPECT_ROUTE_ID")).longValue() : null; + + // 检查今天是否已生成工单(避免重复) + String checkSql = "SELECT COUNT(1) FROM dms_bills_inspect_instance " + + "WHERE plan_inspect_code = ? AND TRUNC(create_time) = TRUNC(SYSDATE)"; + Integer existCount = jdbcTemplate.queryForObject(checkSql, Integer.class, planInspectCode); + + if (existCount != null && existCount > 0) { + log.debug("巡检计划[{}]今天已生成工单,跳过", planInspectCode); + continue; + } + + // 生成巡检工单 + String billsCode = Seq.getId(Seq.dmsBillsFaultInstanceSeqType, "XJ"); + String insertSql = "INSERT INTO dms_bills_inspect_instance " + + "(inspect_instance_id, bills_inspect_code, plan_inspect_code, plan_inspect_id, " + + "inspect_route_id, bills_status, is_flag, create_time, create_by) " + + "VALUES (SEQ_DMS_BILLS_INSPECT_INSTANCE.NEXTVAL, ?, ?, ?, ?, '0', '1', SYSDATE, -1)"; + + jdbcTemplate.update(insertSql, billsCode, planInspectCode, planInspectId, inspectRouteId); + count++; + log.info("已为巡检计划[{}]生成工单[{}]", planInspectCode, billsCode); + + // 更新计划的下次执行时间(根据周期计算) + updateInspectPlanNextTime(planInspectId); + + } catch (Exception e) { + log.error("为巡检计划生成工单失败: {}", e.getMessage()); + } + } + } catch (Exception e) { + log.error("查询巡检计划失败", e); + } + log.info("========== 巡检工单生成任务完成,生成数量: {} ==========", count); + } + + /** + * 更新巡检计划的下次执行时间 + */ + private void updateInspectPlanNextTime(Long planInspectId) { + try { + // 根据周期计算下次执行时间(默认+1天) + String updateSql = "UPDATE dms_plan_inspect SET plan_time = TRUNC(SYSDATE) + 1, update_time = SYSDATE WHERE plan_inspect_id = ?"; + jdbcTemplate.update(updateSql, planInspectId); + log.debug("更新巡检计划[{}]下次执行时间", planInspectId); + } catch (Exception e) { + log.warn("更新巡检计划下次执行时间失败: {}", e.getMessage()); + } + } } diff --git a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanMaintServiceImpl.java b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanMaintServiceImpl.java index 4b0d256..496ffa9 100644 --- a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanMaintServiceImpl.java +++ b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsPlanMaintServiceImpl.java @@ -11,10 +11,16 @@ import com.aucma.dms.domain.DmsPlanMaintDetail; import com.aucma.dms.mapper.DmsPlanMaintMapper; import com.aucma.dms.service.IDmsPlanMaintService; import com.aucma.quartz.util.CronUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Map; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -27,8 +33,14 @@ import java.util.List; */ @Service public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService { + + private static final Logger log = LoggerFactory.getLogger(DmsPlanMaintServiceImpl.class); + @Autowired private DmsPlanMaintMapper dmsPlanMaintMapper; + + @Autowired + private JdbcTemplate jdbcTemplate; /* @Autowired private RemoteJobService remoteJobService;*/ @@ -271,4 +283,65 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService { return dmsPlanMaint; } + /** + * 定时任务:每天0点根据保养计划生成保养工单 + * cron表达式:秒 分 时 日 月 周 + */ + @Scheduled(cron = "0 0 0 * * ?") + public void generateDailyMaintWorkOrders() { + log.info("========== 开始执行保养工单生成任务 =========="); + int count = 0; + try { + // 查询今天需要执行的保养计划(maint_time <= 今天) + String sql = "SELECT plan_maint_id, plan_maint_code, maint_level, maint_group, " + + "maint_supervisor, time_limit, cycle_period, cron_expression " + + "FROM dms_plan_maint " + + "WHERE (is_flag = 0 OR is_flag IS NULL) " + + "AND maint_time <= TRUNC(SYSDATE) + 1"; + + List> plans = jdbcTemplate.queryForList(sql); + + for (Map plan : plans) { + try { + Long planMaintId = ((Number) plan.get("PLAN_MAINT_ID")).longValue(); + String planMaintCode = (String) plan.get("PLAN_MAINT_CODE"); + + // 检查今天是否已生成工单(避免重复) + String checkSql = "SELECT COUNT(1) FROM dms_bills_maint_instance " + + "WHERE plan_maint_code = ? AND TRUNC(create_time) = TRUNC(SYSDATE)"; + Integer existCount = jdbcTemplate.queryForObject(checkSql, Integer.class, planMaintCode); + + if (existCount != null && existCount > 0) { + log.debug("保养计划[{}]今天已生成工单,跳过", planMaintCode); + continue; + } + + // 生成保养工单 + String billsCode = Seq.getId(Seq.dmsBillsFaultInstanceSeqType, "BY"); + String insertSql = "INSERT INTO dms_bills_maint_instance " + + "(maint_instance_id, bills_maint_code, plan_maint_code, plan_maint_id, " + + "bills_status, is_flag, create_time, create_by) " + + "VALUES (SEQ_DMS_BILLS_MAINT_INSTANCE.NEXTVAL, ?, ?, ?, '0', '1', SYSDATE, -1)"; + + jdbcTemplate.update(insertSql, billsCode, planMaintCode, planMaintId); + count++; + log.info("已为保养计划[{}]生成工单[{}]", planMaintCode, billsCode); + + // 更新计划的下次执行时间 + String cronExpression = (String) plan.get("CRON_EXPRESSION"); + if (cronExpression != null && !cronExpression.isEmpty()) { + Date nextTime = CronUtils.getNextExecution(cronExpression); + String updateSql = "UPDATE dms_plan_maint SET maint_time = ?, update_time = SYSDATE WHERE plan_maint_id = ?"; + jdbcTemplate.update(updateSql, nextTime, planMaintId); + } + + } catch (Exception e) { + log.error("为保养计划生成工单失败: {}", e.getMessage()); + } + } + } catch (Exception e) { + log.error("查询保养计划失败", e); + } + log.info("========== 保养工单生成任务完成,生成数量: {} ==========", count); + } } diff --git a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsRepairWorkOrderServiceImpl.java b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsRepairWorkOrderServiceImpl.java index d2077fc..a9a9f8e 100644 --- a/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsRepairWorkOrderServiceImpl.java +++ b/aucma-dms/src/main/java/com/aucma/dms/service/impl/DmsRepairWorkOrderServiceImpl.java @@ -3,18 +3,19 @@ package com.aucma.dms.service.impl; import com.aucma.common.utils.DateUtils; import com.aucma.common.utils.SecurityUtils; import com.aucma.common.utils.uuid.Seq; -import com.aucma.dms.domain.DmsRepairMaterial; -import com.aucma.dms.domain.DmsRepairProject; -import com.aucma.dms.domain.DmsRepairWorkOrder; -import com.aucma.dms.mapper.DmsRepairMaterialMapper; -import com.aucma.dms.mapper.DmsRepairProjectMapper; -import com.aucma.dms.mapper.DmsRepairWorkOrderMapper; +import com.aucma.dms.domain.*; +import com.aucma.dms.mapper.*; +import com.aucma.dms.service.IDmsDispatchPlanService; +import com.aucma.dms.service.IDmsRepairRecordService; import com.aucma.dms.service.IDmsRepairWorkOrderService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -27,6 +28,8 @@ import java.util.List; @Service public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService { + private static final Logger log = LoggerFactory.getLogger(DmsRepairWorkOrderServiceImpl.class); + @Autowired private DmsRepairWorkOrderMapper dmsRepairWorkOrderMapper; @@ -35,6 +38,15 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService @Autowired private DmsRepairMaterialMapper dmsRepairMaterialMapper; + + @Autowired + private DmsBillsFaultInstanceMapper dmsBillsFaultInstanceMapper; + + @Autowired + private IDmsDispatchPlanService dmsDispatchPlanService; + + @Autowired + private IDmsRepairRecordService dmsRepairRecordService; /** * 查询维修工单 @@ -126,6 +138,13 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService // 插入维修材料明细 insertRepairMaterials(dmsRepairWorkOrder); + // 【断点1修复】如果关联了故障报修,更新故障报修状态为“已创建工单” + if (dmsRepairWorkOrder.getFaultInstanceId() != null) { + updateFaultInstanceStatus(dmsRepairWorkOrder.getFaultInstanceId(), "1"); // 1-维修中 + log.info("维修工单[{}]关联故障报修[{}],已更新故障报修状态", + dmsRepairWorkOrder.getWorkOrderCode(), dmsRepairWorkOrder.getFaultInstanceId()); + } + return rows; } @@ -191,6 +210,7 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService * @param dmsRepairWorkOrder 维修工单 * @return 结果 */ + @Transactional @Override public int dispatchWorkOrder(DmsRepairWorkOrder dmsRepairWorkOrder) { DmsRepairWorkOrder updateEntity = new DmsRepairWorkOrder(); @@ -201,7 +221,16 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService updateEntity.setUpdateTime(DateUtils.getNowDate()); updateEntity.setUpdateBy(SecurityUtils.getUserId()); - return dmsRepairWorkOrderMapper.updateDmsRepairWorkOrder(updateEntity); + int rows = dmsRepairWorkOrderMapper.updateDmsRepairWorkOrder(updateEntity); + + // 【断点2修复】自动创建派工计划 + DmsRepairWorkOrder workOrder = dmsRepairWorkOrderMapper.selectDmsRepairWorkOrderByWorkOrderId(dmsRepairWorkOrder.getWorkOrderId()); + if (workOrder != null) { + createDispatchPlanFromWorkOrder(workOrder, dmsRepairWorkOrder.getExecutorId(), dmsRepairWorkOrder.getExecutorName()); + log.info("维修工单[{}]派工成功,已自动创建派工计划", workOrder.getWorkOrderCode()); + } + + return rows; } /** @@ -228,8 +257,12 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService * @param dmsRepairWorkOrder 维修工单 * @return 结果 */ + @Transactional @Override public int completeWorkOrder(DmsRepairWorkOrder dmsRepairWorkOrder) { + // 查询完整工单信息 + DmsRepairWorkOrder workOrder = dmsRepairWorkOrderMapper.selectDmsRepairWorkOrderByWorkOrderId(dmsRepairWorkOrder.getWorkOrderId()); + DmsRepairWorkOrder updateEntity = new DmsRepairWorkOrder(); updateEntity.setWorkOrderId(dmsRepairWorkOrder.getWorkOrderId()); updateEntity.setOrderStatus("3"); // 已完成 @@ -240,7 +273,22 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService updateEntity.setUpdateTime(DateUtils.getNowDate()); updateEntity.setUpdateBy(SecurityUtils.getUserId()); - return dmsRepairWorkOrderMapper.updateDmsRepairWorkOrder(updateEntity); + int rows = dmsRepairWorkOrderMapper.updateDmsRepairWorkOrder(updateEntity); + + // 【断点3修复】自动创建维修记录 + if (workOrder != null) { + createRepairRecordFromWorkOrder(workOrder, dmsRepairWorkOrder); + log.info("维修工单[{}]完成,已自动创建维修记录", workOrder.getWorkOrderCode()); + + // 如果关联了故障报修,更新故障报修状态为“已完成” + if (workOrder.getFaultInstanceId() != null) { + updateFaultInstanceStatus(workOrder.getFaultInstanceId(), "2"); // 2-维修完成 + log.info("维修工单[{}]完成,已更新关联故障报修[{}]状态", + workOrder.getWorkOrderCode(), workOrder.getFaultInstanceId()); + } + } + + return rows; } /** @@ -292,4 +340,106 @@ public class DmsRepairWorkOrderServiceImpl implements IDmsRepairWorkOrderService } } } + + // ==================== 业务流程闭环辅助方法 ==================== + + /** + * 【断点1】更新故障报修状态 + * + * @param faultInstanceId 故障报修ID + * @param billsStatus 状态:0-待维修 1-维修中 2-维修完成 + */ + private void updateFaultInstanceStatus(Long faultInstanceId, String billsStatus) { + try { + DmsBillsFaultInstance updateEntity = new DmsBillsFaultInstance(); + updateEntity.setRepairInstanceId(faultInstanceId); + updateEntity.setBillsStatus(billsStatus); + updateEntity.setUpdateTime(DateUtils.getNowDate()); + updateEntity.setUpdateBy(SecurityUtils.getUserId()); + dmsBillsFaultInstanceMapper.updateDmsBillsFaultInstance(updateEntity); + } catch (Exception e) { + log.error("更新故障报修[{}]状态失败: {}", faultInstanceId, e.getMessage()); + } + } + + /** + * 【断点2】根据维修工单自动创建派工计划 + * + * @param workOrder 维修工单 + * @param executorId 执行人ID + * @param executorName 执行人姓名 + */ + private void createDispatchPlanFromWorkOrder(DmsRepairWorkOrder workOrder, Long executorId, String executorName) { + try { + DmsDispatchPlan dispatchPlan = new DmsDispatchPlan(); + // 关联工单信息 + dispatchPlan.setWorkOrderId(workOrder.getWorkOrderId()); + dispatchPlan.setWorkOrderCode(workOrder.getWorkOrderCode()); + // 设备信息 + dispatchPlan.setDeviceId(workOrder.getDeviceId()); + dispatchPlan.setDeviceCode(workOrder.getDeviceCode()); + dispatchPlan.setDeviceName(workOrder.getDeviceName()); + // 派工类型:单人派工 + dispatchPlan.setDispatchType("1"); + // 执行人信息 + dispatchPlan.setExecutorId(executorId); + dispatchPlan.setExecutorName(executorName); + // 时间要求 + dispatchPlan.setRequireStartTime(workOrder.getPlanStartTime()); + dispatchPlan.setRequireEndTime(workOrder.getPlanEndTime()); + // 优先级 + dispatchPlan.setPriority(workOrder.getPriority()); + // 派工说明 + dispatchPlan.setDispatchNotes("由维修工单[" + workOrder.getWorkOrderCode() + "]自动生成"); + + dmsDispatchPlanService.insertDmsDispatchPlan(dispatchPlan); + } catch (Exception e) { + log.error("为维修工单[{}]创建派工计划失败: {}", workOrder.getWorkOrderCode(), e.getMessage()); + } + } + + /** + * 【断点3】根据维修工单自动创建维修记录 + * + * @param workOrder 原始工单信息 + * @param completeInfo 完成时的信息 + */ + private void createRepairRecordFromWorkOrder(DmsRepairWorkOrder workOrder, DmsRepairWorkOrder completeInfo) { + try { + DmsRepairRecord repairRecord = new DmsRepairRecord(); + // 关联工单信息 + repairRecord.setWorkOrderId(workOrder.getWorkOrderId()); + repairRecord.setWorkOrderCode(workOrder.getWorkOrderCode()); + // 设备信息 + repairRecord.setDeviceId(workOrder.getDeviceId()); + repairRecord.setDeviceCode(workOrder.getDeviceCode()); + repairRecord.setDeviceName(workOrder.getDeviceName()); + // 故障信息 + repairRecord.setFaultPhenomenon(workOrder.getFaultDescription()); + // 维修人员 + repairRecord.setRepairerId(workOrder.getExecutorId()); + repairRecord.setRepairerName(workOrder.getExecutorName()); + // 维修时间 + repairRecord.setStartTime(workOrder.getActualStartTime()); + repairRecord.setEndTime(new Date()); + // 维修结果 + repairRecord.setRepairResult(completeInfo.getRepairResult()); + // 维修工时 + if (completeInfo.getRepairHours() != null) { + repairRecord.setRepairHours(completeInfo.getRepairHours()); + } + // 维修费用 + if (completeInfo.getActualCost() != null) { + repairRecord.setRepairCost(completeInfo.getActualCost()); + } + // 停机时长(如果有) + if (workOrder.getShutdownDuration() != null) { + repairRecord.setShutdownDuration(workOrder.getShutdownDuration().intValue()); + } + + dmsRepairRecordService.insertDmsRepairRecord(repairRecord); + } catch (Exception e) { + log.error("为维修工单[{}]创建维修记录失败: {}", workOrder.getWorkOrderCode(), e.getMessage()); + } + } } diff --git a/aucma-dms/src/main/resources/mapper/dms/DmsBaseInspectRouteMapper.xml b/aucma-dms/src/main/resources/mapper/dms/DmsBaseInspectRouteMapper.xml index 02916fd..5a41d51 100644 --- a/aucma-dms/src/main/resources/mapper/dms/DmsBaseInspectRouteMapper.xml +++ b/aucma-dms/src/main/resources/mapper/dms/DmsBaseInspectRouteMapper.xml @@ -109,6 +109,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select count(*) from dms_inspect_route_detail where inspect_route_id = #{inspectRouteId} diff --git a/aucma-dms/src/main/resources/mapper/dms/DmsInspectRouteDetailMapper.xml b/aucma-dms/src/main/resources/mapper/dms/DmsInspectRouteDetailMapper.xml index a695f4e..bea4bb1 100644 --- a/aucma-dms/src/main/resources/mapper/dms/DmsInspectRouteDetailMapper.xml +++ b/aucma-dms/src/main/resources/mapper/dms/DmsInspectRouteDetailMapper.xml @@ -23,9 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" line_step, machine_id as device_id, machine_id, - inspect_standard, - is_flag, - remark + inspect_standard from dms_inspect_route_detail @@ -34,9 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and inspect_route_id = #{inspectRouteId} and line_step = #{lineStep} - and device_id = #{deviceId} + and machine_id = #{deviceId} and inspect_standard = #{inspectStandard} - and is_flag = #{isFlag} @@ -54,21 +51,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" route_detail_id, inspect_route_id, line_step, - device_id, - machine_id, + machine_id, inspect_standard, - is_flag, - remark, #{routeDetailId,jdbcType=NUMERIC}, #{inspectRouteId,jdbcType=NUMERIC}, #{lineStep,jdbcType=NUMERIC}, #{deviceId,jdbcType=NUMERIC}, - #{machineId,jdbcType=NUMERIC}, #{inspectStandard}, - #{isFlag}, - #{remark}, @@ -77,11 +68,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" inspect_route_id = #{inspectRouteId}, line_step = #{lineStep}, - device_id = #{deviceId}, - machine_id = #{machineId}, + machine_id = #{deviceId}, inspect_standard = #{inspectStandard}, - is_flag = #{isFlag}, - remark = #{remark}, where route_detail_id = #{routeDetailId} diff --git a/aucma-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml b/aucma-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml index 00b8578..d57d8fe 100644 --- a/aucma-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml +++ b/aucma-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml @@ -33,17 +33,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -79,46 +79,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{planInspectId,jdbcType=NUMERIC}, - #{planInspectCode}, - #{planInspectName}, - #{inspectType}, + #{planInspectCode,jdbcType=VARCHAR}, + #{planInspectName,jdbcType=VARCHAR}, + #{inspectType,jdbcType=VARCHAR}, #{inspectRouteId,jdbcType=NUMERIC}, #{deviceAmount,jdbcType=NUMERIC}, - #{planTime}, + #{planTime,jdbcType=TIMESTAMP}, #{timeLimit,jdbcType=NUMERIC}, #{jobId,jdbcType=NUMERIC}, - #{cyclePeriod}, - #{performer}, - #{isFlag}, - #{remark}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, + #{cyclePeriod,jdbcType=VARCHAR}, + #{performer,jdbcType=VARCHAR}, + #{isFlag,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}, + #{createBy,jdbcType=NUMERIC}, + #{createTime,jdbcType=TIMESTAMP}, + #{updateBy,jdbcType=NUMERIC}, + #{updateTime,jdbcType=TIMESTAMP}, update dms_plan_inspect - plan_inspect_code = #{planInspectCode}, - plan_inspect_name = #{planInspectName}, - inspect_type = #{inspectType}, - inspect_route_id = #{inspectRouteId}, - device_amount = #{deviceAmount}, - plan_time = #{planTime}, - time_limit = #{timeLimit}, - job_id = #{jobId}, - cycle_period = #{cyclePeriod}, - performer = #{performer}, - is_flag = #{isFlag}, - remark = #{remark}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, + plan_inspect_code = #{planInspectCode,jdbcType=VARCHAR}, + plan_inspect_name = #{planInspectName,jdbcType=VARCHAR}, + inspect_type = #{inspectType,jdbcType=VARCHAR}, + inspect_route_id = #{inspectRouteId,jdbcType=BIGINT}, + device_amount = #{deviceAmount,jdbcType=INTEGER}, + plan_time = #{planTime,jdbcType=TIMESTAMP}, + time_limit = #{timeLimit,jdbcType=INTEGER}, + job_id = #{jobId,jdbcType=BIGINT}, + cycle_period = #{cyclePeriod,jdbcType=VARCHAR}, + performer = #{performer,jdbcType=VARCHAR}, + is_flag = #{isFlag,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + create_by = #{createBy,jdbcType=BIGINT}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_by = #{updateBy,jdbcType=BIGINT}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, - where plan_inspect_id = #{planInspectId} + where plan_inspect_id = #{planInspectId,jdbcType=BIGINT} @@ -133,21 +133,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/aucma-dms/src/main/resources/mapper/dms/DmsPlanMaintDetailMapper.xml b/aucma-dms/src/main/resources/mapper/dms/DmsPlanMaintDetailMapper.xml index 2819f83..27d1522 100644 --- a/aucma-dms/src/main/resources/mapper/dms/DmsPlanMaintDetailMapper.xml +++ b/aucma-dms/src/main/resources/mapper/dms/DmsPlanMaintDetailMapper.xml @@ -47,9 +47,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where a.plan_maint_detail_id = #{planMaintDetailId} - + + + SELECT SEQ_DMS_PLAN_MAINT_DETAIL.NEXTVAL FROM DUAL + insert into dms_plan_maint_detail + plan_maint_detail_id, plan_maint_id, device_id, maint_station_id, @@ -63,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_time, + #{planMaintDetailId}, #{planMaintId}, #{deviceId}, #{maintStationId},