diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsFaultInstanceController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsFaultInstanceController.java index 9781099..f4f84ce 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsFaultInstanceController.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsFaultInstanceController.java @@ -15,8 +15,6 @@ import org.dromara.common.log.enums.BusinessType; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; -import org.dromara.dms.domain.DmsBillsFaultInstance; -import org.dromara.dms.domain.DmsFaultInstanceActivity; import org.dromara.dms.domain.bo.DmsBillsFaultInstanceBo; import org.dromara.dms.domain.vo.DmsBillsFaultInstanceVo; import org.dromara.dms.service.IDmsBillsFaultInstanceService; @@ -24,13 +22,10 @@ import org.dromara.dms.utils.TemplateExcelUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.text.SimpleDateFormat; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** - * 故障报修工单;手工创建故障报修工单 + * 故障报修工单 * 前端访问路由地址为:/dms/dmsBillsFaultInstance * * @author zch @@ -45,7 +40,7 @@ public class DmsBillsFaultInstanceController extends BaseController { private final IDmsBillsFaultInstanceService dmsBillsFaultInstanceService; /** - * 查询故障报修工单;手工创建故障报修工单列表 + * 查询故障报修工单列表 */ @SaCheckPermission("dms:dmsBillsFaultInstance:list") @GetMapping("/list") @@ -54,18 +49,18 @@ public class DmsBillsFaultInstanceController extends BaseController { } /** - * 导出故障报修工单;手工创建故障报修工单列表 + * 导出故障报修工单列表 */ @SaCheckPermission("dms:dmsBillsFaultInstance:export") - @Log(title = "故障报修工单;手工创建故障报修工单", businessType = BusinessType.EXPORT) + @Log(title = "故障报修工单", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(DmsBillsFaultInstanceBo bo, HttpServletResponse response) { List list = dmsBillsFaultInstanceService.queryList(bo); - ExcelUtil.exportExcel(list, "故障报修工单;手工创建故障报修工单", DmsBillsFaultInstanceVo.class, response); + ExcelUtil.exportExcel(list, "故障报修工单", DmsBillsFaultInstanceVo.class, response); } /** - * 获取故障报修工单;手工创建故障报修工单详细信息 + * 获取故障报修工单详细信息 * * @param repairInstanceId 主键 */ @@ -77,10 +72,10 @@ public class DmsBillsFaultInstanceController extends BaseController { } /** - * 新增故障报修工单;手工创建故障报修工单 + * 新增故障报修工单 */ @SaCheckPermission("dms:dmsBillsFaultInstance:add") - @Log(title = "故障报修工单;手工创建故障报修工单", businessType = BusinessType.INSERT) + @Log(title = "故障报修工单", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody DmsBillsFaultInstanceBo bo) { @@ -88,10 +83,10 @@ public class DmsBillsFaultInstanceController extends BaseController { } /** - * 修改故障报修工单;手工创建故障报修工单 + * 修改故障报修工单 */ @SaCheckPermission("dms:dmsBillsFaultInstance:edit") - @Log(title = "故障报修工单;手工创建故障报修工单", businessType = BusinessType.UPDATE) + @Log(title = "故障报修工单", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsFaultInstanceBo bo) { @@ -99,12 +94,12 @@ public class DmsBillsFaultInstanceController extends BaseController { } /** - * 删除故障报修工单;手工创建故障报修工单 + * 删除故障报修工单 * * @param repairInstanceIds 主键串 */ @SaCheckPermission("dms:dmsBillsFaultInstance:remove") - @Log(title = "故障报修工单;手工创建故障报修工单", businessType = BusinessType.DELETE) + @Log(title = "故障报修工单", businessType = BusinessType.DELETE) @DeleteMapping("/{repairInstanceIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] repairInstanceIds) { @@ -113,7 +108,7 @@ public class DmsBillsFaultInstanceController extends BaseController { /** - * 下拉框查询故障报修工单;手工创建故障报修工单列表 + * 下拉框查询故障报修工单列表 */ @GetMapping("/getDmsBillsFaultInstanceList") @@ -122,41 +117,42 @@ public class DmsBillsFaultInstanceController extends BaseController { return R.ok(list); } - @PostMapping("faultRecordExport") - public void faultRecordExport(DmsBillsFaultInstance dmsBillsFaultInstance, HttpServletResponse response) throws Exception { - Map beanParams = new HashMap<>(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); - DmsFaultInstanceActivity faulsts = dmsBillsFaultInstanceService.selectFaults(dmsBillsFaultInstance.getRepairInstanceId()); - beanParams.put("applyUser",faulsts.getApplyUser()); - beanParams.put("applyTime",format.format(faulsts.getApplyTime())); - beanParams.put("deviceName",faulsts.getDeviceName()); - beanParams.put("deviceLocation",faulsts.getDeviceLocation()); - beanParams.put("deviceCode",faulsts.getDeviceCode()); +// @PostMapping("faultRecordExport") +// public void faultRecordExport(DmsBillsFaultInstance dmsBillsFaultInstance, HttpServletResponse response) throws Exception { +// Map beanParams = new HashMap<>(); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); +// DmsFaultInstanceActivity faults = dmsBillsFaultInstanceService.selectFaults(dmsBillsFaultInstance.getRepairInstanceId()); +// beanParams.put("applyUser",faults.getApplyUser()); +// beanParams.put("applyTime",format.format(faults.getApplyTime())); +// beanParams.put("deviceName",faults.getDeviceName()); +// beanParams.put("deviceLocation",faults.getDeviceLocation()); +// beanParams.put("deviceCode",faults.getDeviceCode()); +// +// if (faults.getRealBeginTime()!=null){ +// beanParams.put("realEndTime",format.format(faults.getRealEndTime())); +// } +// if (faults.getRealEndTime()!=null){ +// beanParams.put("realBeginTime",format.format(faults.getRealBeginTime())); +// } +// if (faults.getUpdateTime()!=null){ +// beanParams.put("confirmTime",format.format(faults.getUpdateTime())); +// } +//// beanParams.put("realEndTime",format.format(faults.getRealEndTime())); +// beanParams.put("faultDescription",faults.getFaultDescription()); +// beanParams.put("checkedFault",faults.getCheckedFault()); +// beanParams.put("repairContent",faults.getRepairContent()); +// beanParams.put("protectedMethod",faults.getProtectedMethod()); +// beanParams.put("repairer",faults.getRepairer()); +// String repairConfirm; +// if (faults.getConfirmer()!=null){ +// repairConfirm = faults.getConfirmer(); +// }else { +// repairConfirm = "未完成"; +// } +// beanParams.put("repairConfirm",repairConfirm); +// beanParams.put("list",faults.getParts()); +// +// TemplateExcelUtils.downLoadExcel("维修记录","",beanParams, response); +// } - if (faulsts.getRealBeginTime()!=null){ - beanParams.put("realEndTime",format.format(faulsts.getRealEndTime())); - } - if (faulsts.getRealEndTime()!=null){ - beanParams.put("realBeginTime",format.format(faulsts.getRealBeginTime())); - } - if (faulsts.getUpdateTime()!=null){ - beanParams.put("confirmTime",format.format(faulsts.getUpdateTime())); - } -// beanParams.put("realEndTime",format.format(faulsts.getRealEndTime())); - beanParams.put("faultDescription",faulsts.getFaultDescription()); - beanParams.put("checkedFault",faulsts.getCheckedFault()); - beanParams.put("repairContent",faulsts.getRepairContent()); - beanParams.put("protectedMethod",faulsts.getProtectedMethod()); - beanParams.put("repairer",faulsts.getRepairer()); - String repairConfirm; - if (faulsts.getConfirmer()!=null){ - repairConfirm = faulsts.getConfirmer(); - }else { - repairConfirm = "未完成"; - } - beanParams.put("repairConfirm",repairConfirm); - beanParams.put("list",faulsts.getParts()); - - TemplateExcelUtils.downLoadExcel("维修记录","",beanParams, response); - } } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsFaultInstance.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsFaultInstance.java index bd70816..d3bcde6 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsFaultInstance.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsFaultInstance.java @@ -11,7 +11,7 @@ import java.util.Date; import java.util.List; /** - * 故障报修工单;手工创建故障报修工单对象 dms_bills_fault_instance + * 故障报修工单对象 dms_bills_fault_instance * * @author zch * @date 2025-04-07 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsFaultInstanceBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsFaultInstanceBo.java index 96aeb8c..4850a02 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsFaultInstanceBo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsFaultInstanceBo.java @@ -12,7 +12,7 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; /** - * 故障报修工单;手工创建故障报修工单业务对象 dms_bills_fault_instance + * 故障报修工单业务对象 dms_bills_fault_instance * * @author zch * @date 2025-04-07 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsFaultInstanceVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsFaultInstanceVo.java index f5bf751..05ee563 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsFaultInstanceVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsFaultInstanceVo.java @@ -17,7 +17,7 @@ import java.util.List; /** - * 故障报修工单;手工创建故障报修工单视图对象 dms_bills_fault_instance + * 故障报修工单视图对象 dms_bills_fault_instance * * @author zch * @date 2025-04-07 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsPlanMaintVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsPlanMaintVo.java index 5a417d4..f70b392 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsPlanMaintVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsPlanMaintVo.java @@ -2,16 +2,18 @@ package org.dromara.dms.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.dms.domain.DmsPlanMaint; +import org.dromara.dms.domain.DmsPlanMaintDetail; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -122,4 +124,6 @@ public class DmsPlanMaintVo implements Serializable { private Long timeLimitDays; private Long timeLimitHours; + /** 保养计划明细信息 */ + private List dmsPlanMaintDetailList; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteInspectInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteInspectInstanceServiceImpl.java index ad01b4b..376d05c 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteInspectInstanceServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteInspectInstanceServiceImpl.java @@ -10,6 +10,7 @@ import org.dromara.common.core.domain.R; import org.dromara.dms.api.RemoteInspectInstanceService; import org.dromara.dms.domain.*; import org.dromara.dms.mapper.*; +import org.dromara.dms.service.impl.DmsInspectProjectDeviceServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -120,12 +121,12 @@ public class RemoteInspectInstanceServiceImpl implements RemoteInspectInstanceSe dmsInspectInstanceDetailMapper.insert(dmsInspectInstanceDetail); Long projectId = dmsInspectInstanceDetailMapper.selectProjectId(dmsInspectRouteDetail.getInspectStandard()); -/* + DmsInspectProjectDevice queryInspectProjectDevice = new DmsInspectProjectDevice(); queryInspectProjectDevice.setTargetType("2"); queryInspectProjectDevice.setTargetId(deviceId); - List dmsInspectProjectDevices = dmsInspectProjectDeviceMapper.selectDmsInspectProjectDeviceList(queryInspectProjectDevice); -*/ + + MPJLambdaWrapper DmsInspectProjectDeviceLQW = JoinWrappers.lambda(DmsInspectProjectDevice.class) .eq(DmsInspectProjectDevice::getTargetType, "2")//关联类型(1设备类型) .eq(DmsInspectProjectDevice::getTargetId, deviceId); diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteMaintInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteMaintInstanceServiceImpl.java index 5a556eb..9b25bc7 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteMaintInstanceServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteMaintInstanceServiceImpl.java @@ -1,17 +1,20 @@ package org.dromara.dms.dubbo; + import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.core.constant.DmsConstants; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.uuid.Seq; +import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.dms.api.RemoteMaintInstanceService; import org.dromara.dms.domain.*; import org.dromara.dms.mapper.DmsBillsMaintDetailMapper; import org.dromara.dms.mapper.DmsBillsMaintDetailProjectMapper; import org.dromara.dms.mapper.DmsBillsMaintInstanceMapper; import org.dromara.dms.mapper.DmsPlanMaintMapper; +import org.dromara.system.api.model.LoginUser; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,6 +36,13 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic private final DmsBillsMaintDetailProjectMapper dmsBillsMaintDetailProjectMapper; + + // 预定义系统用户相关常量,实际项目中建议从配置读取或定义在公共常量类中 + private static final Long SYSTEM_USER_ID = 1L; // 假设的系统管理员用户ID + private static final Long SYSTEM_DEPT_ID = 103L; // 假设的系统默认部门ID + private static final String DEFAULT_TENANT_ID_FOR_JOBS = "000000"; // 定时任务使用的默认租户ID + + /** * 新增保养工单 * @@ -50,8 +60,6 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic } DmsBillsMaintInstance dmsBillsMaintInstance = new DmsBillsMaintInstance(); - - dmsBillsMaintInstance.setPlanBeginTime(dmsPlanMaint.getMaintTime()); dmsBillsMaintInstance.setPlanMaintId(dmsPlanMaint.getPlanMaintId()); dmsBillsMaintInstance.setBillsMaintCode(Seq.getId(Seq.maintInstanceSeqType, Seq.maintInstanceCode)); @@ -66,6 +74,24 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic // dmsBillsMaintInstance.setIsFlag(1l); // dmsBillsMaintInstance.setWfProcessId(103l); dmsBillsMaintInstance.setPlanEndTime(new Date(lubeTime.getTime() + timeLimit * 1000l)); + + //字段没有自动填充,只能代码手动填充 + + // 获取用户信息 +/* SaSession session = StpUtil.getTokenSession(); + if (ObjectUtil.isNull(session)) { + return R.fail("用户会话不存在"); + } + LoginUser loginUser = (LoginUser) session.get("loginUser");*/ + LoginUser loginUser = new LoginUser();//暂时默认系统用户 + loginUser.setTenantId(DEFAULT_TENANT_ID_FOR_JOBS);//暂时默认系统用户 + loginUser.setUserId(SYSTEM_USER_ID);//暂时默认系统用户 + loginUser.setDeptId(SYSTEM_DEPT_ID);//暂时默认系统用户 + + dmsBillsMaintInstance.setCreateBy(SYSTEM_USER_ID);//暂时默认系统用户 + dmsBillsMaintInstance.setCreateDept(SYSTEM_DEPT_ID);//暂时默认系统用户 + dmsBillsMaintInstance.setTenantId(DEFAULT_TENANT_ID_FOR_JOBS);//暂时默认系统用户 + int i = dmsBillsMaintInstanceMapper.insert(dmsBillsMaintInstance); // DmsMaintInstanceActivity dmsMaintInstanceActivity = new DmsMaintInstanceActivity(); @@ -73,13 +99,19 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic // dmsMaintInstanceActivity.setProcessStepOrder(1L); // int i1 = dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity); - batchInsertDmsBillsMaintDetail(dmsPlanMaint, dmsBillsMaintInstance.getMaintInstanceId()); + batchInsertDmsBillsMaintDetail(dmsPlanMaint, dmsBillsMaintInstance.getMaintInstanceId(), loginUser); return R.ok(i); } - public void batchInsertDmsBillsMaintDetail(DmsPlanMaint dmsPlanMaint, Long maintInstanceId) { + @Transactional( rollbackFor = Exception.class ) + public void batchInsertDmsBillsMaintDetail(DmsPlanMaint dmsPlanMaint, Long maintInstanceId, LoginUser loginUser) { + + Long userId = loginUser.getUserId(); + Long deptId = loginUser.getDeptId(); + String tenantId = loginUser.getTenantId(); + List planMaintDetails = dmsPlanMaint.getDmsPlanMaintDetailList(); List billsMaintDetails = new ArrayList<>(); planMaintDetails.forEach(planMaintDetail -> { @@ -89,12 +121,16 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic dmsBillsMaintDetail.setMaintStationId(planMaintDetail.getMaintStationId()); dmsBillsMaintDetail.setMaintStandardId(planMaintDetail.getMaintStandardId()); // dmsBillsMaintDetail.setIsFlag(1L); - dmsBillsMaintDetail.setMaintStatus(1L); - billsMaintDetails.add(dmsBillsMaintDetail); + dmsBillsMaintDetail.setMaintStatus(1L);//保养状态(1待保养 2保养中 3已完成) + + //字段没有自动填充,只能代码手动填充 + dmsBillsMaintDetail.setCreateBy(userId); + dmsBillsMaintDetail.setCreateDept(deptId); + dmsBillsMaintDetail.setTenantId(tenantId); + + dmsBillsMaintDetailMapper.insert(dmsBillsMaintDetail); }); -// dmsBillsMaintInstanceMapper.batchDmsBillsMaintDetail(billsMaintDetails); - dmsBillsMaintDetailMapper.insertBatch(billsMaintDetails); ArrayList billsMaintDetailProjectList = new ArrayList<>(); List list = dmsBillsMaintDetailMapper.selectDetailList(maintInstanceId); for (DmsBillsMaintDetail detail : list) { @@ -106,13 +142,18 @@ public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceServic billsMaintDetailProject.setMaintProjectId(project.getMaintProjectId()); billsMaintDetailProject.setMaintProjectName(project.getMaintProjectName()); billsMaintDetailProject.setMaintProjectDesc(project.getMaintProjectDesc()); - billsMaintDetailProject.setMaintProjectStatus("2"); - billsMaintDetailProjectList.add(billsMaintDetailProject); + + billsMaintDetailProject.setMaintProjectStatus("2");//保养项目状态(0待保养 1保养完成)TODO:为什么是2?? + + //字段没有自动填充,只能代码手动填充 + billsMaintDetailProject.setCreateBy(userId); + billsMaintDetailProject.setCreateDept(deptId); + billsMaintDetailProject.setTenantId(tenantId); + + dmsBillsMaintDetailProjectMapper.insert(billsMaintDetailProject); } } -// dmsBillsMaintInstanceMapper.batchDmsProject(list1); - dmsBillsMaintDetailProjectMapper.insertOrUpdateBatch(billsMaintDetailProjectList); } } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsFaultInstanceMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsFaultInstanceMapper.java index a12bf1e..19ee43c 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsFaultInstanceMapper.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsFaultInstanceMapper.java @@ -10,7 +10,7 @@ import org.dromara.dms.domain.vo.DmsFaultInstanceActivityVo; import java.util.List; /** - * 故障报修工单;手工创建故障报修工单Mapper接口 + * 故障报修工单Mapper接口 * * @author zch * @date 2025-04-07 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsInspectProjectDeviceMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsInspectProjectDeviceMapper.java index 6635e57..a8a62eb 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsInspectProjectDeviceMapper.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsInspectProjectDeviceMapper.java @@ -12,4 +12,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface DmsInspectProjectDeviceMapper extends BaseMapperPlus { + } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsPlanInspectMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsPlanInspectMapper.java index 301f2ff..40e102f 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsPlanInspectMapper.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsPlanInspectMapper.java @@ -16,6 +16,6 @@ public interface DmsPlanInspectMapper extends BaseMapperPlus { + DmsPlanRepair selectDmsPlanRepairByPlanRepairCode(String planRepairCode); + + DmsPlanRepair selectDmsPlanRepairByPlanRepairId(Long planRepairId); } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsFaultInstanceService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsFaultInstanceService.java index d2e3d31..9495849 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsFaultInstanceService.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsFaultInstanceService.java @@ -10,7 +10,7 @@ import java.util.Collection; import java.util.List; /** - * 故障报修工单;手工创建故障报修工单Service接口 + * 故障报修工单Service接口 * * @author zch * @date 2025-04-07 @@ -18,48 +18,48 @@ import java.util.List; public interface IDmsBillsFaultInstanceService { /** - * 查询故障报修工单;手工创建故障报修工单 + * 查询故障报修工单 * * @param repairInstanceId 主键 - * @return 故障报修工单;手工创建故障报修工单 + * @return 故障报修工单 */ DmsBillsFaultInstanceVo queryById(Long repairInstanceId); /** - * 分页查询故障报修工单;手工创建故障报修工单列表 + * 分页查询故障报修工单列表 * * @param bo 查询条件 * @param pageQuery 分页参数 - * @return 故障报修工单;手工创建故障报修工单分页列表 + * @return 故障报修工单分页列表 */ TableDataInfo queryPageList(DmsBillsFaultInstanceBo bo, PageQuery pageQuery); /** - * 查询符合条件的故障报修工单;手工创建故障报修工单列表 + * 查询符合条件的故障报修工单列表 * * @param bo 查询条件 - * @return 故障报修工单;手工创建故障报修工单列表 + * @return 故障报修工单列表 */ List queryList(DmsBillsFaultInstanceBo bo); /** - * 新增故障报修工单;手工创建故障报修工单 + * 新增故障报修工单 * - * @param bo 故障报修工单;手工创建故障报修工单 + * @param bo 故障报修工单 * @return 是否新增成功 */ Boolean insertByBo(DmsBillsFaultInstanceBo bo); /** - * 修改故障报修工单;手工创建故障报修工单 + * 修改故障报修工单 * - * @param bo 故障报修工单;手工创建故障报修工单 + * @param bo 故障报修工单 * @return 是否修改成功 */ Boolean updateByBo(DmsBillsFaultInstanceBo bo); /** - * 校验并批量删除故障报修工单;手工创建故障报修工单信息 + * 校验并批量删除故障报修工单信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java index 4c85d29..44a3bf7 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java @@ -24,7 +24,7 @@ import java.util.List; import java.util.Map; /** - * 故障报修工单;手工创建故障报修工单Service业务层处理 + * 故障报修工单Service业务层处理 * * @author zch * @date 2025-04-07 @@ -38,10 +38,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS private final DmsBillsFaultInstanceMapper dmsBillsFaultInstanceMapper; /** - * 查询故障报修工单;手工创建故障报修工单 + * 查询故障报修工单 * * @param repairInstanceId 主键 - * @return 故障报修工单;手工创建故障报修工单 + * @return 故障报修工单 */ @Override public DmsBillsFaultInstanceVo queryById(Long repairInstanceId){ @@ -49,11 +49,11 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } /** - * 分页查询故障报修工单;手工创建故障报修工单列表 + * 分页查询故障报修工单列表 * * @param bo 查询条件 * @param pageQuery 分页参数 - * @return 故障报修工单;手工创建故障报修工单分页列表 + * @return 故障报修工单分页列表 */ @Override public TableDataInfo queryPageList(DmsBillsFaultInstanceBo bo, PageQuery pageQuery) { @@ -63,10 +63,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } /** - * 查询符合条件的故障报修工单;手工创建故障报修工单列表 + * 查询符合条件的故障报修工单列表 * * @param bo 查询条件 - * @return 故障报修工单;手工创建故障报修工单列表 + * @return 故障报修工单列表 */ @Override public List queryList(DmsBillsFaultInstanceBo bo) { @@ -100,9 +100,9 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } /** - * 新增故障报修工单;手工创建故障报修工单 + * 新增故障报修工单 * - * @param bo 故障报修工单;手工创建故障报修工单 + * @param bo 故障报修工单 * @return 是否新增成功 */ @Override @@ -117,9 +117,9 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } /** - * 修改故障报修工单;手工创建故障报修工单 + * 修改故障报修工单 * - * @param bo 故障报修工单;手工创建故障报修工单 + * @param bo 故障报修工单 * @return 是否修改成功 */ @Override @@ -137,7 +137,7 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } /** - * 校验并批量删除故障报修工单;手工创建故障报修工单信息 + * 校验并批量删除故障报修工单信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanInspectServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanInspectServiceImpl.java index abe67ac..ca13ca2 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanInspectServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanInspectServiceImpl.java @@ -1,9 +1,15 @@ package org.dromara.dms.service.impl; +import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum; +import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum; +import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.seata.spring.annotation.GlobalTransactional; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.uuid.Seq; @@ -17,6 +23,8 @@ import org.dromara.dms.mapper.DmsBaseInspectRouteMapper; import org.dromara.dms.mapper.DmsPlanInspectMapper; import org.dromara.dms.service.IDmsPlanInspectService; import org.dromara.dms.utils.CronUtils; +import org.dromara.job.api.RemoteJobService; +import org.dromara.job.api.model.DmsJobEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,6 +47,9 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService { private final DmsBaseInspectRouteMapper dmsBaseInspectRouteMapper; + @DubboReference + private final RemoteJobService remoteJobService; + private static final Long SECONDS_PER_DAY = 24 * 60 * 60L; private static final Long SECONDS_PER_HOUR = 60 * 60L; @@ -149,7 +160,7 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService { * @return 是否新增成功 */ @Override - @Transactional( rollbackFor = Exception.class) + @GlobalTransactional(rollbackFor = Exception.class) public Boolean insertByBo(DmsPlanInspectBo bo) { DmsPlanInspect add = MapstructUtils.convert(bo, DmsPlanInspect.class); String day = "*"; @@ -180,22 +191,31 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService { cron = "0 0 "+add.getHour()+" "+day+" "+ month+" ? "+year; } String planInspectCode = Seq.getId(Seq.planInspectSeqType, Seq.planInspectCode); -/* SysJob job = new SysJob(); - job.setJobName("点巡检计划编号" + planInspectCode + "工单任务"); - job.setJobGroup("DEFAULT"); - job.setInvokeTarget("ryTask.getDmsBillsInstance(\"" + planInspectCode + "\")"); - job.setCronExpression(cron); - job.setMisfirePolicy("1"); - job.setConcurrent("1"); - job.setStatus("1"); - R jobIdR = remoteJobService.add(SecurityConstants.INNER, job);*/ - String time = cron; - //通过cron表达式获取下一次执行时间 - Date nextExecution = CronUtils.getNextExecution(time); - add.setPlanTime(nextExecution); - add.setPlanInspectCode(planInspectCode); -// add.setJobId(jobIdR.getData().longValue()); + if(bo.getActiveFlag().equals("1")) {//激活标识(1是 0否) + DmsJobEntity dmsJobEntity = new DmsJobEntity(); + dmsJobEntity.setRouteKey(AllocationAlgorithmEnum.ROUND)//路由策略:轮询 + .setJobName("点巡检计划编号" + planInspectCode + "工单任务") + .setExecutorInfo("stanceInspect")//执行器名称 + .setExecutorTimeout(30)//执行超时时间 + .setBlockStrategy(JobBlockStrategyEnum.CONCURRENCY)//阻塞策略:并发 + .setMaxRetryTimes(2)//最大重试次数 + .setTriggerType(TriggerTypeEnum.CRON)//触发器类型:cron + .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式 + .setRetryInterval(3)//重试间隔时长 + .setArgsStr("planInspectCode") + .setExtAttrs(planInspectCode); + R longR = remoteJobService.addClusterJob(dmsJobEntity); + Long jobId = longR.getData(); + + + String time = cron; + //通过cron表达式获取下一次执行时间 + Date nextExecution = CronUtils.getNextExecution(time); + add.setPlanTime(nextExecution); + add.setPlanInspectCode(planInspectCode); + add.setJobId(jobId); + } Long timeLimitDays = add.getTimeLimitDays()==null ? 0L:add.getTimeLimitDays(); Long timeLimitHours = add.getTimeLimitHours() == null ? 0L:add.getTimeLimitHours(); diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanMaintServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanMaintServiceImpl.java index 753ebed..f8706be 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanMaintServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanMaintServiceImpl.java @@ -1,9 +1,15 @@ package org.dromara.dms.service.impl; +import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum; +import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum; +import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.seata.spring.annotation.GlobalTransactional; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.uuid.Seq; @@ -15,6 +21,8 @@ import org.dromara.dms.domain.vo.DmsPlanMaintVo; import org.dromara.dms.mapper.DmsPlanMaintMapper; import org.dromara.dms.service.IDmsPlanMaintService; import org.dromara.dms.utils.CronUtils; +import org.dromara.job.api.RemoteJobService; +import org.dromara.job.api.model.DmsJobEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,6 +43,9 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService { private final DmsPlanMaintMapper baseMapper; + @DubboReference + private final RemoteJobService remoteJobService; + private static final Long SECONDS_PER_DAY = 24 * 60 * 60L; private static final Long SECONDS_PER_HOUR = 60 * 60L; @@ -151,7 +162,7 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService { * @return 是否新增成功 */ @Override - @Transactional( rollbackFor = Exception.class) + @GlobalTransactional(rollbackFor = Exception.class) public Boolean insertByBo(DmsPlanMaintBo bo) { DmsPlanMaint add = MapstructUtils.convert(bo, DmsPlanMaint.class); validEntityBeforeSave(add); @@ -194,12 +205,29 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService { job.setConcurrent("1"); job.setStatus("1"); R jobIdR = remoteJobService.add(SecurityConstants.INNER, job);*/ + if(bo.getActiveFlag().equals("1")) {//激活标识(1是 0否) + DmsJobEntity dmsJobEntity = new DmsJobEntity(); + dmsJobEntity.setRouteKey(AllocationAlgorithmEnum.ROUND)//路由策略:轮询 + .setJobName("保养计划编号" + planMaintCode + "工单任务") + .setExecutorInfo("stanceMaint")//执行器名称 + .setExecutorTimeout(30)//执行超时时间 + .setBlockStrategy(JobBlockStrategyEnum.CONCURRENCY)//阻塞策略:并发 + .setMaxRetryTimes(2)//最大重试次数 + .setTriggerType(TriggerTypeEnum.CRON)//触发器类型:cron + .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式 + .setRetryInterval(3)//重试间隔时长 + .setArgsStr("planMaintCode") + .setExtAttrs(planMaintCode); + R longR = remoteJobService.addClusterJob(dmsJobEntity); + Long jobId = longR.getData(); + String time = cron; + //通过cron表达式获取下一次执行时间 + Date nextExecution = CronUtils.getNextExecution(time); + add.setMaintTime(nextExecution); + add.setJobId(jobId); + } + - String time = cron; - //通过cron表达式获取下一次执行时间 - Date nextExecution = CronUtils.getNextExecution(time); - add.setMaintTime(nextExecution); -// add.setJobId(jobIdR.getData().longValue()); add.setPlanMaintCode(planMaintCode); Long timeLimitDays = add.getTimeLimitDays()==null?0L:add.getTimeLimitDays(); Long timeLimitHours = add.getTimeLimitHours() == null?0L:add.getTimeLimitHours(); diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanRepairServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanRepairServiceImpl.java index ca58101..5884671 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanRepairServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanRepairServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; @@ -15,6 +16,7 @@ import org.dromara.dms.domain.vo.DmsPlanRepairVo; import org.dromara.dms.mapper.DmsPlanRepairDetailMapper; import org.dromara.dms.mapper.DmsPlanRepairMapper; import org.dromara.dms.service.IDmsPlanRepairService; +import org.dromara.job.api.RemoteJobService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -173,6 +175,10 @@ public class DmsPlanRepairServiceImpl implements IDmsPlanRepairService { @Override @Transactional( rollbackFor = Exception.class ) public Boolean insertByBo(DmsPlanRepairBo bo) { + /* + *京源DMS注释掉了定时任务,参考京源暂时不加 + * */ + DmsPlanRepair add = MapstructUtils.convert(bo, DmsPlanRepair.class); validEntityBeforeSave(add); add.setTimeLimit((add.getTimeLimitDays()*SECONDS_PER_DAY) diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml index 69d855b..efb7fe9 100644 --- a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanInspectMapper.xml @@ -36,15 +36,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where a.plan_inspect_id = #{planInspectId} - diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanMaintMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanMaintMapper.xml index 6a1e832..6cd65cc 100644 --- a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanMaintMapper.xml +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsPlanMaintMapper.xml @@ -30,6 +30,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + select a.plan_repair_id, a.plan_repair_code, a.repair_type, a.repair_group, a.repair_supervisor, a.repair_time, a.cycle_period, a.create_method, + /*a.is_flag, */ + a.remark, a.create_by, a.create_time, a.update_by, a.update_time,a.time_limit, + b.plan_repair_detail_id as sub_plan_repair_detail_id, b.plan_repair_id as sub_plan_repair_id, b.repair_detail_target_type as sub_repair_detail_target_type,b.repair_detail_target_id as repair_detail_target_id, b.fault_type as sub_fault_type, b.repair_desc as sub_repair_desc, b.repair_protocol as sub_repair_protocol, b.operation_description as sub_operation_description, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time + from dms_plan_repair a + left join dms_plan_repair_detail b on b.plan_repair_id = a.plan_repair_id + where a.plan_repair_code = #{planRepairCode} + + + +