feat(dms): 添加点巡检工单实例节点相关功能

- 新增 DmsBillsInspectInstanceActivity 实体类和对应的 BO、VO 类
- 实现点巡检工单实例节点的 CRUD接口和控制器
- 添加更新工作流定义 ID 的方法
- 优化润滑工单实例节点的插入和更新逻辑
- 修复 DmsPlanInspect 实体类的主键注解
master
zch 2 weeks ago
parent 126245aa0e
commit b8a4c710b8

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.DmsBillsInspectInstanceActivityVo;
import org.dromara.dms.domain.bo.DmsBillsInspectInstanceActivityBo;
import org.dromara.dms.service.IDmsBillsInspectInstanceActivityService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* ;
* 访:/dms/dmsBillsInspectInstanceActivity
*
* @author zch
* @date 2025-05-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/dmsBillsInspectInstanceActivity")
public class DmsBillsInspectInstanceActivityController extends BaseController {
private final IDmsBillsInspectInstanceActivityService dmsBillsInspectInstanceActivityService;
/**
* ;
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:list")
@GetMapping("/list")
public TableDataInfo<DmsBillsInspectInstanceActivityVo> list(DmsBillsInspectInstanceActivityBo bo, PageQuery pageQuery) {
return dmsBillsInspectInstanceActivityService.queryPageList(bo, pageQuery);
}
/**
* ;
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:export")
@Log(title = "点巡检工单实例节点;此暂时不用", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DmsBillsInspectInstanceActivityBo bo, HttpServletResponse response) {
List<DmsBillsInspectInstanceActivityVo> list = dmsBillsInspectInstanceActivityService.queryList(bo);
ExcelUtil.exportExcel(list, "点巡检工单实例节点;此暂时不用", DmsBillsInspectInstanceActivityVo.class, response);
}
/**
* ;
*
* @param instanceActivityId
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:query")
@GetMapping("/{instanceActivityId}")
public R<DmsBillsInspectInstanceActivityVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long instanceActivityId) {
return R.ok(dmsBillsInspectInstanceActivityService.queryById(instanceActivityId));
}
/**
* ;
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:add")
@Log(title = "点巡检工单实例节点;此暂时不用", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<DmsBillsInspectInstanceActivityVo> add(@Validated(AddGroup.class) @RequestBody DmsBillsInspectInstanceActivityBo bo) {
return R.ok(dmsBillsInspectInstanceActivityService.insertByBo(bo));
}
/**
* ;
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:edit")
@Log(title = "点巡检工单实例节点;此暂时不用", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<DmsBillsInspectInstanceActivityVo> edit(@Validated(EditGroup.class) @RequestBody DmsBillsInspectInstanceActivityBo bo) {
return R.ok(dmsBillsInspectInstanceActivityService.updateByBo(bo));
}
/**
* ;
*
* @param instanceActivityIds
*/
@SaCheckPermission("dms:dmsBillsInspectInstanceActivity:remove")
@Log(title = "点巡检工单实例节点;此暂时不用", businessType = BusinessType.DELETE)
@DeleteMapping("/{instanceActivityIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] instanceActivityIds) {
return toAjax(dmsBillsInspectInstanceActivityService.deleteWithValidByIds(List.of(instanceActivityIds), true));
}
/**
* ;
*/
@GetMapping("/getDmsBillsInspectInstanceActivityList")
public R<List<DmsBillsInspectInstanceActivityVo>> getDmsBillsInspectInstanceActivityList(DmsBillsInspectInstanceActivityBo bo) {
List<DmsBillsInspectInstanceActivityVo> list = dmsBillsInspectInstanceActivityService.queryList(bo);
return R.ok(list);
}
}

@ -114,4 +114,16 @@ public class DmsBillsInspectInstanceController extends BaseController {
List<DmsBillsInspectInstanceVo> list = dmsBillsInspectInstanceService.queryList(bo);
return R.ok(list);
}
/**
* ID
* @param inspectInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@PostMapping("/updateWfDefinitionIdById")
public R updateWfDefinitionIdById(@RequestParam Long inspectInstanceId, @RequestParam Long wfDefinitionId)
{
return toAjax(dmsBillsInspectInstanceService.updateWfDefinitionIdById(inspectInstanceId, wfDefinitionId));
}
}

@ -121,4 +121,16 @@ public class DmsBillsMaintInstanceController extends BaseController {
{
return R.ok(dmsBillsMaintInstanceService.insertDmsBillsMaintInstance(planMaintCode));
}
/**
* ID
* @param maintInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@PostMapping("/updateWfDefinitionIdById")
public R updateWfDefinitionIdById(@RequestParam Long maintInstanceId, @RequestParam Long wfDefinitionId)
{
return toAjax(dmsBillsMaintInstanceService.updateWfDefinitionIdById(maintInstanceId, wfDefinitionId));
}
}

@ -0,0 +1,117 @@
package org.dromara.dms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.dms.domain.vo.DmsMaintInstanceActivityVo;
import org.dromara.dms.domain.bo.DmsMaintInstanceActivityBo;
import org.dromara.dms.service.IDmsMaintInstanceActivityService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* ;
* 访:/dms/dmsMaintInstanceActivity
*
* @author zch
* @date 2025-05-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/dmsMaintInstanceActivity")
public class DmsMaintInstanceActivityController extends BaseController {
private final IDmsMaintInstanceActivityService dmsMaintInstanceActivityService;
/**
* ;
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:list")
@GetMapping("/list")
public TableDataInfo<DmsMaintInstanceActivityVo> list(DmsMaintInstanceActivityBo bo, PageQuery pageQuery) {
return dmsMaintInstanceActivityService.queryPageList(bo, pageQuery);
}
/**
* ;
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:export")
@Log(title = "保养工单实例节点;弃用", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DmsMaintInstanceActivityBo bo, HttpServletResponse response) {
List<DmsMaintInstanceActivityVo> list = dmsMaintInstanceActivityService.queryList(bo);
ExcelUtil.exportExcel(list, "保养工单实例节点;弃用", DmsMaintInstanceActivityVo.class, response);
}
/**
* ;
*
* @param instanceActivityId
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:query")
@GetMapping("/{instanceActivityId}")
public R<DmsMaintInstanceActivityVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long instanceActivityId) {
return R.ok(dmsMaintInstanceActivityService.queryById(instanceActivityId));
}
/**
* ;
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:add")
@Log(title = "保养工单实例节点;弃用", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<DmsMaintInstanceActivityVo> add(@Validated(AddGroup.class) @RequestBody DmsMaintInstanceActivityBo bo) {
return R.ok(dmsMaintInstanceActivityService.insertByBo(bo));
}
/**
* ;
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:edit")
@Log(title = "保养工单实例节点;弃用", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<DmsMaintInstanceActivityVo> edit(@Validated(EditGroup.class) @RequestBody DmsMaintInstanceActivityBo bo) {
return R.ok(dmsMaintInstanceActivityService.updateByBo(bo));
}
/**
* ;
*
* @param instanceActivityIds
*/
@SaCheckPermission("dms:dmsMaintInstanceActivity:remove")
@Log(title = "保养工单实例节点;弃用", businessType = BusinessType.DELETE)
@DeleteMapping("/{instanceActivityIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] instanceActivityIds) {
return toAjax(dmsMaintInstanceActivityService.deleteWithValidByIds(List.of(instanceActivityIds), true));
}
/**
* ;
*/
@GetMapping("/getDmsMaintInstanceActivityList")
public R<List<DmsMaintInstanceActivityVo>> getDmsMaintInstanceActivityList(DmsMaintInstanceActivityBo bo) {
List<DmsMaintInstanceActivityVo> list = dmsMaintInstanceActivityService.queryList(bo);
return R.ok(list);
}
}

@ -114,4 +114,16 @@ public class DmsRepairInstanceController extends BaseController {
List<DmsRepairInstanceVo> list = dmsRepairInstanceService.queryList(bo);
return R.ok(list);
}
/**
* ID
* @param repairInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@PostMapping("/updateWfDefinitionIdById")
public R updateWfDefinitionIdById(@RequestParam Long repairInstanceId, @RequestParam Long wfDefinitionId)
{
return toAjax(dmsRepairInstanceService.updateWfDefinitionIdById(repairInstanceId, wfDefinitionId));
}
}

@ -27,7 +27,8 @@ public class DmsBillsInspectInstance extends TenantEntity {
/**
*
*/
@TableId(value = "inspect_instance_id", type = IdType.AUTO)
// @TableId(value = "inspect_instance_id", type = IdType.AUTO)
@TableId(value = "inspect_instance_id")
private Long inspectInstanceId;
/**

@ -0,0 +1,117 @@
package org.dromara.dms.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* ; dms_bills_inspect_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dms_bills_inspect_instance_activity")
public class DmsBillsInspectInstanceActivity extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "instance_activity_id", type = IdType.AUTO)
private Long instanceActivityId;
/**
* IDdms_bills_inspect_instanceinspect_instance_id
*/
private Long inspectInstanceId;
/**
* IDwf_definition_configid
*/
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
private Long wfNodeId;
/**
* 线dms_base_inspect_routeinspect_route_id;12212
*/
private Long inspectRouteId;
/**
* ;12212
*/
private Long deviceAmount;
/**
* ;12212
*/
private String performer;
/**
* ;2
*/
private String processHandleResolution;
/**
* (0 1 2 3
*/
private String processHandleStatus;
/**
*
*/
private Long processStepOrder;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
* IDsys_useruser_id)
*/
private Long handleUserId;
/**
*
*/
private String handleBy;
/**
*
*/
private Date handleTime;
/**
* idid
*/
private Long transferUserId;
/**
* 1
*/
private String attr1;
/**
*
*/
private String remark;
}

@ -0,0 +1,118 @@
package org.dromara.dms.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* ; dms_maint_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dms_maint_instance_activity")
public class DmsMaintInstanceActivity extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "instance_activity_id", type = IdType.AUTO)
private Long instanceActivityId;
/**
* IDdms_bills_maint_instancemaint_instance_id
*/
private Long maintInstanceId;
/**
* ID,wf_definition_configid
*/
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
private Long wfNodeId;
/**
* 1 2 3;12212
*/
private String maintLevel;
/**
* ;12212
*/
private String maintGroup;
/**
* ;12212
*/
private String maintSupervisor;
/**
* ;
*/
private String processHandleResolution;
/**
* (0 1 2 3
*/
private String processHandleStatus;
/**
*
*/
private Long processStepOrder;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
* IDsys_useruser_id)
*/
private Long handleUserId;
/**
*
*/
private String handleBy;
/**
*
*/
private Date handleTime;
/**
* idid
*/
private Long transferUserId;
/**
* 1
*/
private String attr1;
/**
*
*/
private String remark;
}

@ -28,7 +28,8 @@ public class DmsPlanInspect extends TenantEntity {
/**
*
*/
@TableId(value = "plan_inspect_id", type = IdType.AUTO)
// @TableId(value = "plan_inspect_id", type = IdType.AUTO)
@TableId(value = "plan_inspect_id")
private Long planInspectId;
/**

@ -0,0 +1,116 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.DmsBillsInspectInstanceActivity;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* ; dms_bills_inspect_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DmsBillsInspectInstanceActivity.class, reverseConvertGenerate = true)
public class DmsBillsInspectInstanceActivityBo extends BaseEntity {
/**
* ID
*/
private Long instanceActivityId;
/**
* IDdms_bills_inspect_instanceinspect_instance_id
*/
private Long inspectInstanceId;
/**
* IDwf_definition_configid
*/
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
private Long wfNodeId;
/**
* 线dms_base_inspect_routeinspect_route_id;12212
*/
private Long inspectRouteId;
/**
* ;12212
*/
private Long deviceAmount;
/**
* ;12212
*/
private String performer;
/**
* ;2
*/
private String processHandleResolution;
/**
* (0 1 2 3
*/
private String processHandleStatus;
/**
*
*/
private Long processStepOrder;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
* IDsys_useruser_id)
*/
private Long handleUserId;
/**
*
*/
private String handleBy;
/**
*
*/
private Date handleTime;
/**
* idid
*/
private Long transferUserId;
/**
* 1
*/
private String attr1;
/**
*
*/
private String remark;
}

@ -0,0 +1,117 @@
package org.dromara.dms.domain.bo;
import org.dromara.dms.domain.DmsMaintInstanceActivity;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* ; dms_maint_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DmsMaintInstanceActivity.class, reverseConvertGenerate = true)
public class DmsMaintInstanceActivityBo extends BaseEntity {
/**
* ID
*/
@NotNull(message = "保养工单实例节点ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long instanceActivityId;
/**
* IDdms_bills_maint_instancemaint_instance_id
*/
private Long maintInstanceId;
/**
* ID,wf_definition_configid
*/
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
private Long wfNodeId;
/**
* 1 2 3;12212
*/
private String maintLevel;
/**
* ;12212
*/
private String maintGroup;
/**
* ;12212
*/
private String maintSupervisor;
/**
* ;
*/
private String processHandleResolution;
/**
* (0 1 2 3
*/
private String processHandleStatus;
/**
*
*/
private Long processStepOrder;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
* IDsys_useruser_id)
*/
private Long handleUserId;
/**
*
*/
private String handleBy;
/**
*
*/
private Date handleTime;
/**
* idid
*/
private Long transferUserId;
/**
* 1
*/
private String attr1;
/**
*
*/
private String remark;
}

@ -0,0 +1,145 @@
package org.dromara.dms.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.dms.domain.DmsBillsInspectInstanceActivity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* ; dms_bills_inspect_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DmsBillsInspectInstanceActivity.class, reverseConvertGenerate = true)
public class DmsBillsInspectInstanceActivityVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "巡检工单实例节点ID")
private Long instanceActivityId;
/**
* IDdms_bills_inspect_instanceinspect_instance_id
*/
@ExcelProperty(value = "巡检工单实例ID关联dms_bills_inspect_instance的inspect_instance_id")
private Long inspectInstanceId;
/**
* IDwf_definition_configid
*/
@ExcelProperty(value = "流程定义ID关联wf_definition_config的id")
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
@ExcelProperty(value = "工单流程节点ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "关=联wf_task_back_node的id")
private Long wfNodeId;
/**
* 线dms_base_inspect_routeinspect_route_id;12212
*/
@ExcelProperty(value = "巡检线路关联dms_base_inspect_route的inspect_route_id;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private Long inspectRouteId;
/**
* ;12212
*/
@ExcelProperty(value = "设备总数;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private Long deviceAmount;
/**
* ;12212
*/
@ExcelProperty(value = "执行人员;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private String performer;
/**
* ;2
*/
@ExcelProperty(value = "处理意见;第一步不显示从第2步开始只显示此字段")
private String processHandleResolution;
/**
* (0 1 2 3
*/
@ExcelProperty(value = "状态(0已结束 1执行中 2待接取 3已转发", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "process_handle_status")
private String processHandleStatus;
/**
*
*/
@ExcelProperty(value = "工单流程步骤顺序")
private Long processStepOrder;
/**
*
*/
@ExcelProperty(value = "执行开始时间")
private Date startTime;
/**
*
*/
@ExcelProperty(value = "执行结束时间")
private Date endTime;
/**
* IDsys_useruser_id)
*/
@ExcelProperty(value = "处理人ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "处理人ID关联sys_user的user_id)")
private Long handleUserId;
/**
*
*/
@ExcelProperty(value = "处理人")
private String handleBy;
/**
*
*/
@ExcelProperty(value = "处理时间")
private Date handleTime;
/**
* idid
*/
@ExcelProperty(value = "转单人用户id或转发协助用户id")
private Long transferUserId;
/**
* 1
*/
@ExcelProperty(value = "用户预留1")
private String attr1;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,143 @@
package org.dromara.dms.domain.vo;
import java.util.Date;
import org.dromara.dms.domain.DmsMaintInstanceActivity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* ; dms_maint_instance_activity
*
* @author zch
* @date 2025-05-19
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DmsMaintInstanceActivity.class, reverseConvertGenerate = true)
public class DmsMaintInstanceActivityVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "保养工单实例节点ID")
private Long instanceActivityId;
/**
* IDdms_bills_maint_instancemaint_instance_id
*/
@ExcelProperty(value = "保养工单实例ID关联dms_bills_maint_instance的maint_instance_id")
private Long maintInstanceId;
/**
* ID,wf_definition_configid
*/
@ExcelProperty(value = "流程定义ID,关联wf_definition_config的id")
private Long wfDefinitionId;
/**
* IDwf_task_back_nodeid
*/
@ExcelProperty(value = "工单流程节点ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "关=联wf_task_back_node的id")
private Long wfNodeId;
/**
* 1 2 3;12212
*/
@ExcelProperty(value = "保养级别", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "maint_level")
private String maintLevel;
/**
* ;12212
*/
@ExcelProperty(value = "保养组别;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private String maintGroup;
/**
* ;12212
*/
@ExcelProperty(value = "保养负责人;最后一步自动复制第1步的可在第2步修改修改保存后为第2步的记录第1步为要求的第2步为实际的")
private String maintSupervisor;
/**
* ;
*/
@ExcelProperty(value = "处理意见;第一步不显示,从第二步开始只显示此字段")
private String processHandleResolution;
/**
* (0 1 2 3
*/
@ExcelProperty(value = "状态(0已结束 1执行中 2待接取 3已转发", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "process_handle_status")
private String processHandleStatus;
/**
*
*/
@ExcelProperty(value = "工单流程步骤顺序")
private Long processStepOrder;
/**
*
*/
@ExcelProperty(value = "执行开始时间")
private Date startTime;
/**
*
*/
@ExcelProperty(value = "执行结束时间")
private Date endTime;
/**
* IDsys_useruser_id)
*/
@ExcelProperty(value = "处理人ID", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "处理人ID关联sys_user的user_id)")
private Long handleUserId;
/**
*
*/
@ExcelProperty(value = "处理人")
private String handleBy;
/**
*
*/
@ExcelProperty(value = "处理时间")
private Date handleTime;
/**
* idid
*/
@ExcelProperty(value = "转单人用户id或转发协助用户id")
private Long transferUserId;
/**
* 1
*/
@ExcelProperty(value = "用户预留1")
private String attr1;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -1,8 +1,8 @@
package org.dromara.dms.dubbo;
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.DubboService;
import org.dromara.common.core.constant.DmsConstants;
@ -17,8 +17,8 @@ import org.dromara.dms.domain.vo.DmsPlanLubeDetailVo;
import org.dromara.dms.mapper.*;
import org.dromara.dms.service.IDmsBillsLubeInstanceService;
import org.dromara.dms.service.IDmsPlanInspectService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.dromara.dms.api.RemoteLubeInstanceService;
import java.util.ArrayList;
@ -47,11 +47,11 @@ public class RemoteLubeInstanceServiceImpl implements RemoteLubeInstanceService
private final DmsInspectRouteDetailMapper dmsInspectRouteDetailMapper;
// private final RemoteWorkflowService remoteWorkflowService;
@Override
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public R<Void> insertLubeInstance(String planLubeCode, String tenantId, Long userId) {
// 去除润滑计划编号中的双引号
// String lubeInstanceCodeS = planLubeCode.replaceAll("\"", "");
@ -77,8 +77,6 @@ public class RemoteLubeInstanceServiceImpl implements RemoteLubeInstanceService
// 创建新的润滑工单实例对象
DmsBillsLubeInstance dmsBillsLubeInstance = new DmsBillsLubeInstance();
// 设置创建人
dmsBillsLubeInstance.setCreateBy(dmsPlanLube.getCreateBy());
// 设置润滑工单的计划ID
dmsBillsLubeInstance.setPlanLubeId(dmsPlanLube.getPlanLubeId());
// 设置计划开始时间为润滑时间
@ -100,14 +98,10 @@ public class RemoteLubeInstanceServiceImpl implements RemoteLubeInstanceService
dmsBillsLubeInstance.setPlanEndTime(planEndTime);
dmsBillsLubeInstance.setCreateBy(userId);
// dmsBillsLubeInstance.setCreateTime(new Date());
dmsBillsLubeInstance.setTenantId(tenantId);
// 插入润滑工单实例到数据库
int i = dmsBillsLubeInstanceMapper.insert(dmsBillsLubeInstance);
DmsPlanLubeBo dmsPlanLubeBo = MapstructUtils.convert(dmsPlanLube, DmsPlanLubeBo.class);
// 批量插入润滑工单详情
List<DmsPlanLubeDetailVo> lubeDetails = dmsPlanLubeBo.getDmsPlanLubeDetailList();
List<DmsBillsLubeDetail> billsLubeDetails = new ArrayList<>();
@ -128,6 +122,4 @@ public class RemoteLubeInstanceServiceImpl implements RemoteLubeInstanceService
return R.ok();
}
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.DmsBillsInspectInstanceActivity;
import org.dromara.dms.domain.vo.DmsBillsInspectInstanceActivityVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* ;Mapper
*
* @author zch
* @date 2025-05-19
*/
public interface DmsBillsInspectInstanceActivityMapper extends BaseMapperPlus<DmsBillsInspectInstanceActivity, DmsBillsInspectInstanceActivityVo> {
}

@ -0,0 +1,15 @@
package org.dromara.dms.mapper;
import org.dromara.dms.domain.DmsMaintInstanceActivity;
import org.dromara.dms.domain.vo.DmsMaintInstanceActivityVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* ;Mapper
*
* @author zch
* @date 2025-05-19
*/
public interface DmsMaintInstanceActivityMapper extends BaseMapperPlus<DmsMaintInstanceActivity, DmsMaintInstanceActivityVo> {
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.DmsBillsInspectInstanceActivity;
import org.dromara.dms.domain.vo.DmsBillsInspectInstanceActivityVo;
import org.dromara.dms.domain.bo.DmsBillsInspectInstanceActivityBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* ;Service
*
* @author zch
* @date 2025-05-19
*/
public interface IDmsBillsInspectInstanceActivityService {
/**
* ;
*
* @param instanceActivityId
* @return ;
*/
DmsBillsInspectInstanceActivityVo queryById(Long instanceActivityId);
/**
* ;
*
* @param bo
* @param pageQuery
* @return ;
*/
TableDataInfo<DmsBillsInspectInstanceActivityVo> queryPageList(DmsBillsInspectInstanceActivityBo bo, PageQuery pageQuery);
/**
* ;
*
* @param bo
* @return ;
*/
List<DmsBillsInspectInstanceActivityVo> queryList(DmsBillsInspectInstanceActivityBo bo);
/**
* ;
*
* @param bo ;
* @return
*/
DmsBillsInspectInstanceActivityVo insertByBo(DmsBillsInspectInstanceActivityBo bo);
/**
* ;
*
* @param bo ;
* @return
*/
DmsBillsInspectInstanceActivityVo updateByBo(DmsBillsInspectInstanceActivityBo bo);
/**
* ;
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -66,4 +66,12 @@ public interface IDmsBillsInspectInstanceService {
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* ID
* @param inspectInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
public Boolean updateWfDefinitionIdById(Long inspectInstanceId, Long wfDefinitionId);
}

@ -45,9 +45,9 @@ public interface IDmsBillsLubeInstanceActivityService {
*
*
* @param bo
* @return
* @return
*/
Boolean insertByBo(DmsBillsLubeInstanceActivityBo bo);
DmsBillsLubeInstanceActivityVo insertByBo(DmsBillsLubeInstanceActivityBo bo);
/**
*
@ -55,7 +55,7 @@ public interface IDmsBillsLubeInstanceActivityService {
* @param bo
* @return
*/
Boolean updateByBo(DmsBillsLubeInstanceActivityBo bo);
DmsBillsLubeInstanceActivityVo updateByBo(DmsBillsLubeInstanceActivityBo bo);
/**
*

@ -99,4 +99,13 @@ public interface IDmsBillsLubeInstanceService {
* @return
*/
public int completeLube(DmsBillsLubeDetailBo bo);
/**
* ID
* @param lubeInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
public Boolean updateWfDefinitionIdById(Long lubeInstanceId, Long wfDefinitionId);
}

@ -101,4 +101,12 @@ public interface IDmsBillsMaintInstanceService {
* @return
*/
public int completeMaint(DmsBillsMaintDetail dmsBillsMaintDetail);
/**
* ID
* @param maintInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
public Boolean updateWfDefinitionIdById(Long maintInstanceId, Long wfDefinitionId);
}

@ -0,0 +1,69 @@
package org.dromara.dms.service;
import org.dromara.dms.domain.DmsMaintInstanceActivity;
import org.dromara.dms.domain.vo.DmsMaintInstanceActivityVo;
import org.dromara.dms.domain.bo.DmsMaintInstanceActivityBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* ;Service
*
* @author zch
* @date 2025-05-19
*/
public interface IDmsMaintInstanceActivityService {
/**
* ;
*
* @param instanceActivityId
* @return ;
*/
DmsMaintInstanceActivityVo queryById(Long instanceActivityId);
/**
* ;
*
* @param bo
* @param pageQuery
* @return ;
*/
TableDataInfo<DmsMaintInstanceActivityVo> queryPageList(DmsMaintInstanceActivityBo bo, PageQuery pageQuery);
/**
* ;
*
* @param bo
* @return ;
*/
List<DmsMaintInstanceActivityVo> queryList(DmsMaintInstanceActivityBo bo);
/**
* ;
*
* @param bo ;
* @return
*/
DmsMaintInstanceActivityVo insertByBo(DmsMaintInstanceActivityBo bo);
/**
* ;
*
* @param bo ;
* @return
*/
DmsMaintInstanceActivityVo updateByBo(DmsMaintInstanceActivityBo bo);
/**
* ;
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -66,4 +66,12 @@ public interface IDmsRepairInstanceService {
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* ID
* @param repairInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
public Boolean updateWfDefinitionIdById(Long repairInstanceId, Long wfDefinitionId);
}

@ -0,0 +1,155 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.DmsBillsInspectInstanceActivityBo;
import org.dromara.dms.domain.vo.DmsBillsInspectInstanceActivityVo;
import org.dromara.dms.domain.DmsBillsInspectInstanceActivity;
import org.dromara.dms.mapper.DmsBillsInspectInstanceActivityMapper;
import org.dromara.dms.service.IDmsBillsInspectInstanceActivityService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* ;Service
*
* @author zch
* @date 2025-05-19
*/
@RequiredArgsConstructor
@Service
public class DmsBillsInspectInstanceActivityServiceImpl implements IDmsBillsInspectInstanceActivityService {
private final DmsBillsInspectInstanceActivityMapper baseMapper;
/**
* ;
*
* @param instanceActivityId
* @return ;
*/
@Override
public DmsBillsInspectInstanceActivityVo queryById(Long instanceActivityId){
return baseMapper.selectVoById(instanceActivityId);
}
/**
* ;
*
* @param bo
* @param pageQuery
* @return ;
*/
@Override
public TableDataInfo<DmsBillsInspectInstanceActivityVo> queryPageList(DmsBillsInspectInstanceActivityBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<DmsBillsInspectInstanceActivity> lqw = buildQueryWrapper(bo);
Page<DmsBillsInspectInstanceActivityVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* ;
*
* @param bo
* @return ;
*/
@Override
public List<DmsBillsInspectInstanceActivityVo> queryList(DmsBillsInspectInstanceActivityBo bo) {
MPJLambdaWrapper<DmsBillsInspectInstanceActivity> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<DmsBillsInspectInstanceActivity> buildQueryWrapper(DmsBillsInspectInstanceActivityBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<DmsBillsInspectInstanceActivity> lqw = JoinWrappers.lambda(DmsBillsInspectInstanceActivity.class)
.selectAll(DmsBillsInspectInstanceActivity.class)
.eq(bo.getInstanceActivityId() != null, DmsBillsInspectInstanceActivity::getInstanceActivityId, bo.getInstanceActivityId())
.eq(bo.getInspectInstanceId() != null, DmsBillsInspectInstanceActivity::getInspectInstanceId, bo.getInspectInstanceId())
.eq(bo.getWfDefinitionId() != null, DmsBillsInspectInstanceActivity::getWfDefinitionId, bo.getWfDefinitionId())
.eq(bo.getWfNodeId() != null, DmsBillsInspectInstanceActivity::getWfNodeId, bo.getWfNodeId())
.eq(bo.getInspectRouteId() != null, DmsBillsInspectInstanceActivity::getInspectRouteId, bo.getInspectRouteId())
.eq(bo.getDeviceAmount() != null, DmsBillsInspectInstanceActivity::getDeviceAmount, bo.getDeviceAmount())
.eq(StringUtils.isNotBlank(bo.getPerformer()), DmsBillsInspectInstanceActivity::getPerformer, bo.getPerformer())
.eq(StringUtils.isNotBlank(bo.getProcessHandleResolution()), DmsBillsInspectInstanceActivity::getProcessHandleResolution, bo.getProcessHandleResolution())
.eq(StringUtils.isNotBlank(bo.getProcessHandleStatus()), DmsBillsInspectInstanceActivity::getProcessHandleStatus, bo.getProcessHandleStatus())
.eq(bo.getProcessStepOrder() != null, DmsBillsInspectInstanceActivity::getProcessStepOrder, bo.getProcessStepOrder())
.eq(bo.getStartTime() != null, DmsBillsInspectInstanceActivity::getStartTime, bo.getStartTime())
.eq(bo.getEndTime() != null, DmsBillsInspectInstanceActivity::getEndTime, bo.getEndTime())
.eq(bo.getHandleUserId() != null, DmsBillsInspectInstanceActivity::getHandleUserId, bo.getHandleUserId())
.eq(StringUtils.isNotBlank(bo.getHandleBy()), DmsBillsInspectInstanceActivity::getHandleBy, bo.getHandleBy())
.eq(bo.getHandleTime() != null, DmsBillsInspectInstanceActivity::getHandleTime, bo.getHandleTime())
.eq(bo.getTransferUserId() != null, DmsBillsInspectInstanceActivity::getTransferUserId, bo.getTransferUserId())
.eq(StringUtils.isNotBlank(bo.getAttr1()), DmsBillsInspectInstanceActivity::getAttr1, bo.getAttr1())
.orderByDesc(DmsBillsInspectInstanceActivity::getCreateTime);
return lqw;
}
/**
* ;
*
* @param bo ;
* @return
*/
@Override
public DmsBillsInspectInstanceActivityVo insertByBo(DmsBillsInspectInstanceActivityBo bo) {
DmsBillsInspectInstanceActivity add = MapstructUtils.convert(bo, DmsBillsInspectInstanceActivity.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setInstanceActivityId(add.getInstanceActivityId());
DmsBillsInspectInstanceActivityVo vo = MapstructUtils.convert(add, DmsBillsInspectInstanceActivityVo.class);
return vo;
}
return null;
}
/**
* ;
*
* @param bo ;
* @return
*/
@Override
public DmsBillsInspectInstanceActivityVo updateByBo(DmsBillsInspectInstanceActivityBo bo) {
DmsBillsInspectInstanceActivity update = MapstructUtils.convert(bo, DmsBillsInspectInstanceActivity.class);
validEntityBeforeSave(update);
Boolean flag = baseMapper.updateById(update) > 0;
if (flag) {
DmsBillsInspectInstanceActivityVo vo = MapstructUtils.convert(update, DmsBillsInspectInstanceActivityVo.class);
return vo;
}
return null;
}
/**
*
*/
private void validEntityBeforeSave(DmsBillsInspectInstanceActivity entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* ;
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -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.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -16,6 +17,8 @@ import org.dromara.dms.domain.vo.DmsBillsInspectInstanceVo;
import org.dromara.dms.mapper.DmsBillsInspectInstanceMapper;
import org.dromara.dms.service.IDmsBillsInspectInstanceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.Collection;
import java.util.List;
@ -152,4 +155,24 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
}
return baseMapper.deleteByIds(ids) > 0;
}
/**
* ID
* @param inspectInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateWfDefinitionIdById(Long inspectInstanceId, Long wfDefinitionId) {
if(ObjectUtils.isEmpty(inspectInstanceId)){
throw new ServiceException("参数为空");
}
DmsBillsInspectInstance entity = baseMapper.selectById(inspectInstanceId);
if (entity == null) {
throw new ServiceException("记录不存在");
}
entity.setWfDefinitionId(wfDefinitionId);
return baseMapper.updateById(entity) > 0;
}
}

@ -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.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -111,19 +112,23 @@ public class DmsBillsLubeInstanceActivityServiceImpl implements IDmsBillsLubeIns
*
*
* @param bo
* @return
* @return ID
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(DmsBillsLubeInstanceActivityBo bo) {
public DmsBillsLubeInstanceActivityVo insertByBo(DmsBillsLubeInstanceActivityBo bo) {
// 转换为实体类
DmsBillsLubeInstanceActivity add = MapstructUtils.convert(bo, DmsBillsLubeInstanceActivity.class);
// 获取当前登录用户信息
Long userId = LoginHelper.getUserId();
String username = LoginHelper.getUsername();
add.setHandleTime(DateUtils.getNowDate());/**/
add.setHandleUserId(userId);
add.setHandleBy(username);
/* TODO:还没用工作流wf,暂时注释掉 */
/* fixme:京源的工作流程 */
// 如果当前步骤不是第一步
if (add.getProcessStepOrder() != 1) {
// 如果是最后一步,执行结束流程
@ -222,8 +227,10 @@ public class DmsBillsLubeInstanceActivityServiceImpl implements IDmsBillsLubeIns
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setInstanceActivityId(add.getInstanceActivityId());
DmsBillsLubeInstanceActivityVo vo = MapstructUtils.convert(add, DmsBillsLubeInstanceActivityVo.class);
return vo;
}
return flag;
return null;
}
/**
@ -233,10 +240,14 @@ public class DmsBillsLubeInstanceActivityServiceImpl implements IDmsBillsLubeIns
* @return
*/
@Override
public Boolean updateByBo(DmsBillsLubeInstanceActivityBo bo) {
public DmsBillsLubeInstanceActivityVo updateByBo(DmsBillsLubeInstanceActivityBo bo) {
DmsBillsLubeInstanceActivity update = MapstructUtils.convert(bo, DmsBillsLubeInstanceActivity.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
boolean flag = baseMapper.updateById(update) > 0;
if (flag){
return MapstructUtils.convert(update, DmsBillsLubeInstanceActivityVo.class);
}
return null;
}
/**

@ -444,8 +444,9 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
if (entity == null) {
throw new ServiceException("记录不存在");
}
entity.setWfDefinitionId(wfDefinitionId); // 假设字段已存在于实体中
entity.setWfDefinitionId(wfDefinitionId);
return baseMapper.updateById(entity) > 0;
}
}

@ -29,6 +29,7 @@ import org.dromara.dms.service.IDmsBillsMaintDetailService;
import org.dromara.dms.service.IDmsBillsMaintInstanceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.*;
import java.util.stream.Collectors;
@ -382,5 +383,24 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
return 1;
}
/**
* ID
* @param maintInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateWfDefinitionIdById(Long maintInstanceId, Long wfDefinitionId) {
if(ObjectUtils.isEmpty(maintInstanceId)){
throw new ServiceException("参数为空");
}
DmsBillsMaintInstance entity = baseMapper.selectById(maintInstanceId);
if (entity == null) {
throw new ServiceException("记录不存在");
}
entity.setWfDefinitionId(wfDefinitionId);
return baseMapper.updateById(entity) > 0;
}
}

@ -0,0 +1,155 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.DmsMaintInstanceActivityBo;
import org.dromara.dms.domain.vo.DmsMaintInstanceActivityVo;
import org.dromara.dms.domain.DmsMaintInstanceActivity;
import org.dromara.dms.mapper.DmsMaintInstanceActivityMapper;
import org.dromara.dms.service.IDmsMaintInstanceActivityService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* ;Service
*
* @author zch
* @date 2025-05-19
*/
@RequiredArgsConstructor
@Service
public class DmsMaintInstanceActivityServiceImpl implements IDmsMaintInstanceActivityService {
private final DmsMaintInstanceActivityMapper baseMapper;
/**
* ;
*
* @param instanceActivityId
* @return ;
*/
@Override
public DmsMaintInstanceActivityVo queryById(Long instanceActivityId){
return baseMapper.selectVoById(instanceActivityId);
}
/**
* ;
*
* @param bo
* @param pageQuery
* @return ;
*/
@Override
public TableDataInfo<DmsMaintInstanceActivityVo> queryPageList(DmsMaintInstanceActivityBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<DmsMaintInstanceActivity> lqw = buildQueryWrapper(bo);
Page<DmsMaintInstanceActivityVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* ;
*
* @param bo
* @return ;
*/
@Override
public List<DmsMaintInstanceActivityVo> queryList(DmsMaintInstanceActivityBo bo) {
MPJLambdaWrapper<DmsMaintInstanceActivity> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<DmsMaintInstanceActivity> buildQueryWrapper(DmsMaintInstanceActivityBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<DmsMaintInstanceActivity> lqw = JoinWrappers.lambda(DmsMaintInstanceActivity.class)
.selectAll(DmsMaintInstanceActivity.class)
.eq(bo.getInstanceActivityId() != null, DmsMaintInstanceActivity::getInstanceActivityId, bo.getInstanceActivityId())
.eq(bo.getMaintInstanceId() != null, DmsMaintInstanceActivity::getMaintInstanceId, bo.getMaintInstanceId())
.eq(bo.getWfDefinitionId() != null, DmsMaintInstanceActivity::getWfDefinitionId, bo.getWfDefinitionId())
.eq(bo.getWfNodeId() != null, DmsMaintInstanceActivity::getWfNodeId, bo.getWfNodeId())
.eq(StringUtils.isNotBlank(bo.getMaintLevel()), DmsMaintInstanceActivity::getMaintLevel, bo.getMaintLevel())
.eq(StringUtils.isNotBlank(bo.getMaintGroup()), DmsMaintInstanceActivity::getMaintGroup, bo.getMaintGroup())
.eq(StringUtils.isNotBlank(bo.getMaintSupervisor()), DmsMaintInstanceActivity::getMaintSupervisor, bo.getMaintSupervisor())
.eq(StringUtils.isNotBlank(bo.getProcessHandleResolution()), DmsMaintInstanceActivity::getProcessHandleResolution, bo.getProcessHandleResolution())
.eq(StringUtils.isNotBlank(bo.getProcessHandleStatus()), DmsMaintInstanceActivity::getProcessHandleStatus, bo.getProcessHandleStatus())
.eq(bo.getProcessStepOrder() != null, DmsMaintInstanceActivity::getProcessStepOrder, bo.getProcessStepOrder())
.eq(bo.getStartTime() != null, DmsMaintInstanceActivity::getStartTime, bo.getStartTime())
.eq(bo.getEndTime() != null, DmsMaintInstanceActivity::getEndTime, bo.getEndTime())
.eq(bo.getHandleUserId() != null, DmsMaintInstanceActivity::getHandleUserId, bo.getHandleUserId())
.eq(StringUtils.isNotBlank(bo.getHandleBy()), DmsMaintInstanceActivity::getHandleBy, bo.getHandleBy())
.eq(bo.getHandleTime() != null, DmsMaintInstanceActivity::getHandleTime, bo.getHandleTime())
.eq(bo.getTransferUserId() != null, DmsMaintInstanceActivity::getTransferUserId, bo.getTransferUserId())
.eq(StringUtils.isNotBlank(bo.getAttr1()), DmsMaintInstanceActivity::getAttr1, bo.getAttr1())
.orderByDesc(DmsMaintInstanceActivity::getCreateTime);
return lqw;
}
/**
* ;
*
* @param bo ;
* @return
*/
@Override
public DmsMaintInstanceActivityVo insertByBo(DmsMaintInstanceActivityBo bo) {
DmsMaintInstanceActivity add = MapstructUtils.convert(bo, DmsMaintInstanceActivity.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setInstanceActivityId(add.getInstanceActivityId());
DmsMaintInstanceActivityVo vo = MapstructUtils.convert(add, DmsMaintInstanceActivityVo.class);
return vo;
}
return null;
}
/**
* ;
*
* @param bo ;
* @return
*/
@Override
public DmsMaintInstanceActivityVo updateByBo(DmsMaintInstanceActivityBo bo) {
DmsMaintInstanceActivity update = MapstructUtils.convert(bo, DmsMaintInstanceActivity.class);
validEntityBeforeSave(update);
boolean flag = baseMapper.updateById(update) > 0;
if (flag) {
DmsMaintInstanceActivityVo vo = MapstructUtils.convert(update, DmsMaintInstanceActivityVo.class);
return vo;
}
return null;
}
/**
*
*/
private void validEntityBeforeSave(DmsMaintInstanceActivity entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* ;
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -1,5 +1,6 @@
package org.dromara.dms.service.impl;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -15,6 +16,8 @@ import org.dromara.dms.domain.vo.DmsRepairInstanceVo;
import org.dromara.dms.domain.DmsRepairInstance;
import org.dromara.dms.mapper.DmsRepairInstanceMapper;
import org.dromara.dms.service.IDmsRepairInstanceService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map;
@ -140,4 +143,24 @@ public class DmsRepairInstanceServiceImpl implements IDmsRepairInstanceService {
}
return baseMapper.deleteByIds(ids) > 0;
}
/**
* ID
* @param repairInstanceId ID
* @param wfDefinitionId ID
* @return truefalse
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateWfDefinitionIdById(Long repairInstanceId, Long wfDefinitionId) {
if(ObjectUtils.isEmpty(repairInstanceId)){
throw new ServiceException("参数为空");
}
DmsRepairInstance entity = baseMapper.selectById(repairInstanceId);
if (entity == null) {
throw new ServiceException("记录不存在");
}
entity.setWfDefinitionId(wfDefinitionId);
return baseMapper.updateById(entity) > 0;
}
}

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.DmsBillsInspectInstanceActivityMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.dms.mapper.DmsMaintInstanceActivityMapper">
</mapper>
Loading…
Cancel
Save