diff --git a/pom.xml b/pom.xml
index 0497cad..b415946 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
5.8.31
3.37.0
2.2.7
- 1.1.2
+ 1.4.0
1.39.0
1.18.34
7.4
diff --git a/ruoyi-api/hwmom-api-dms/pom.xml b/ruoyi-api/hwmom-api-dms/pom.xml
new file mode 100644
index 0000000..1ddcfbc
--- /dev/null
+++ b/ruoyi-api/hwmom-api-dms/pom.xml
@@ -0,0 +1,42 @@
+
+
+
+ org.dromara
+ ruoyi-api
+ ${revision}
+
+ 4.0.0
+
+ hwmom-api-dms
+
+
+ hwmom-api-dms dms接口模块
+
+
+
+
+
+
+ org.dromara
+ ruoyi-common-core
+
+
+
+ org.dromara
+ ruoyi-common-excel
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
+ com.aizuda
+ snail-job-client-job-core
+
+
+
+
+
diff --git a/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteInspectInstanceService.java b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteInspectInstanceService.java
new file mode 100644
index 0000000..f83031b
--- /dev/null
+++ b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteInspectInstanceService.java
@@ -0,0 +1,9 @@
+package org.dromara.dms.api;
+
+import org.dromara.common.core.domain.R;
+
+public interface RemoteInspectInstanceService {
+
+ public R insertInspectInstance(String planInspectCode, String tenantId, Long userId);
+
+}
diff --git a/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteLubeInstanceService.java b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteLubeInstanceService.java
new file mode 100644
index 0000000..f287b3b
--- /dev/null
+++ b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteLubeInstanceService.java
@@ -0,0 +1,13 @@
+package org.dromara.dms.api;
+
+
+import org.dromara.common.core.domain.R;
+
+public interface RemoteLubeInstanceService {
+
+
+ public R insertLubeInstance(String lubeInstanceCode, String tenantId, Long userId);
+
+
+
+}
diff --git a/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteMaintInstanceService.java b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteMaintInstanceService.java
new file mode 100644
index 0000000..66bcf1e
--- /dev/null
+++ b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteMaintInstanceService.java
@@ -0,0 +1,8 @@
+package org.dromara.dms.api;
+
+import org.dromara.common.core.domain.R;
+
+public interface RemoteMaintInstanceService {
+
+ public R insertDmsBillsMaintInstance(String planMaintCode, String tenantId, Long userId);
+}
diff --git a/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteRepairStanceService.java b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteRepairStanceService.java
new file mode 100644
index 0000000..5b8837f
--- /dev/null
+++ b/ruoyi-api/hwmom-api-dms/src/main/java/org/dromara/dms/api/RemoteRepairStanceService.java
@@ -0,0 +1,9 @@
+package org.dromara.dms.api;
+
+import org.dromara.common.core.domain.R;
+
+public interface RemoteRepairStanceService {
+
+ public R insertDmsRepairInstance(String planRepairCode);
+
+}
diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml
index dd4b4b3..10a5bd0 100644
--- a/ruoyi-api/pom.xml
+++ b/ruoyi-api/pom.xml
@@ -16,6 +16,9 @@
hwmom-api-mes
hwmom-api-pda
hwmom-api-workflow
+
+ hwmom-api-dms
+ ruoyi-api-job
ruoyi-api
diff --git a/ruoyi-api/ruoyi-api-job/pom.xml b/ruoyi-api/ruoyi-api-job/pom.xml
new file mode 100644
index 0000000..63dc136
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-job/pom.xml
@@ -0,0 +1,42 @@
+
+
+
+ org.dromara
+ ruoyi-api
+ ${revision}
+
+ 4.0.0
+
+ ruoyi-api-job
+
+
+ ruoyi-api-job job接口模块
+
+
+
+
+
+
+ org.dromara
+ ruoyi-common-core
+
+
+
+ org.dromara
+ ruoyi-common-excel
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
+ com.aizuda
+ snail-job-client-job-core
+
+
+
+
+
diff --git a/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/RemoteJobService.java b/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/RemoteJobService.java
new file mode 100644
index 0000000..6b8aae1
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/RemoteJobService.java
@@ -0,0 +1,50 @@
+package org.dromara.job.api;
+
+import com.aizuda.snailjob.client.job.core.dto.JobResponseVO;
+import org.dromara.common.core.domain.R;
+import org.dromara.job.api.model.DmsJobEntity;
+
+/**
+ * 物料接口
+ *
+ * @author Yinq
+ */
+public interface RemoteJobService {
+
+
+ /**
+ * 新增集群模式的任务
+ *
+ * @param dmsJobEntity 实体类
+ * @return 任务id
+ */
+ public R addClusterJob(DmsJobEntity dmsJobEntity);
+
+ /**
+ * 修改集群模式的任务
+ */
+ public R updateClusterJob(DmsJobEntity dmsJobEntity);
+
+ /**
+ * 查看任务详情
+ *
+ * @param jobId
+ * @return 任务详情
+ */
+ public R queryJob(Long jobId);
+
+ /**
+ * 更新定时任务状态
+ *
+ * @param jobId 定时任务ID
+ * @param status
+ * status NO:0 ; YES:1
+ */
+ public R updateJobStatus(Long jobId, Long status);
+
+ /**
+ * 自己写的 删除任务;官网文档的SnailJobOpenApi里没有
+ */
+// public Boolean deleteJob(Long jobId);
+
+}
diff --git a/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/model/DmsJobEntity.java b/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/model/DmsJobEntity.java
new file mode 100644
index 0000000..8affc25
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-job/src/main/java/org/dromara/job/api/model/DmsJobEntity.java
@@ -0,0 +1,61 @@
+package org.dromara.job.api.model;
+
+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 lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * SnailJob任务实体类
+ *
+ * @author zch
+ * @date 2025-03-25
+ */
+@Data
+@Accessors(chain = true)
+public class DmsJobEntity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /** 直接复制com.aizuda.snailjob.client.job.core.dto.JobResponseVO */
+ private Long id;
+ private String groupName;
+ private String jobName;
+
+ private String argsStr;
+ private String extAttrs;
+
+ private LocalDateTime nextTriggerAt;
+ private Integer jobStatus;
+
+
+ private AllocationAlgorithmEnum routeKey;//private Integer routeKey;(1:一致性哈希;2:随机;3:LRU;4:轮询;5:第一个;6:最后一个;)
+
+ private Integer executorType;
+ private String executorInfo;
+
+ private TriggerTypeEnum triggerType;//private Integer triggerType;//触发类型:2. 固定时间 3.CRON 表达式 99.工作流
+
+ private String triggerInterval;
+
+ private JobBlockStrategyEnum blockStrategy;//private Integer blockStrategy;//阻塞策略:1、丢弃 2、覆盖 3、并行
+ private Integer executorTimeout;
+
+ private Integer maxRetryTimes;
+ private Integer retryInterval;
+ private Integer taskType;
+ private Integer parallelNum;
+ private String description;
+ private LocalDateTime createDt;
+ private LocalDateTime updateDt;
+
+ //DUBBO穿不了token,手动传参
+ private String tenantId;
+ private String userId;
+
+}
diff --git a/ruoyi-common/hwmom-common-mom/pom.xml b/ruoyi-common/hwmom-common-mom/pom.xml
index 61fa401..64ff076 100644
--- a/ruoyi-common/hwmom-common-mom/pom.xml
+++ b/ruoyi-common/hwmom-common-mom/pom.xml
@@ -42,6 +42,10 @@
3.5.8
compile
+
+ org.springframework.cloud
+ spring-cloud-context
+
diff --git a/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java b/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java
index c44bccf..4d62621 100644
--- a/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java
+++ b/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java
@@ -21,4 +21,7 @@ public interface HwMomMesConstants {
*/
public static final String REDIS_KEY_DEVICE_INFO = "hw_device_info";
+ public static final String MES_MATERIAL_BOM_ACTIVE_FLAG_ACTIVE = "1";//启用
+ public static final String MES_MATERIAL_BOM_ACTIVE_FLAG_HISTORY = "2";//历史
+ public static final String MES_MATERIAL_BOM_ACTIVE_FLAG_DESIGN = "3";//设计中
}
diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessType.java b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessType.java
index 2cf48cf..40ec0fb 100644
--- a/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessType.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessType.java
@@ -67,4 +67,8 @@ public enum BusinessType {
*/
COMPLETE,
+ /**
+ * 发布
+ */
+ PUBLISH,
}
diff --git a/ruoyi-modules/hwmom-dms/pom.xml b/ruoyi-modules/hwmom-dms/pom.xml
index 2f2bccd..336a6a4 100644
--- a/ruoyi-modules/hwmom-dms/pom.xml
+++ b/ruoyi-modules/hwmom-dms/pom.xml
@@ -144,6 +144,42 @@
+
+
+
+
+
+ org.dromara
+ ruoyi-api-job
+ ${revision}
+ compile
+
+
+
+ org.dromara
+ hwmom-api-dms
+ ${revision}
+ compile
+
+
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/controller/DmsBillsInspectInstanceController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsInspectInstanceController.java
index f543876..8b7dff8 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsInspectInstanceController.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsInspectInstanceController.java
@@ -76,8 +76,8 @@ public class DmsBillsInspectInstanceController extends BaseController {
@Log(title = "点巡检工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
- public R add(@Validated(AddGroup.class) @RequestBody DmsBillsInspectInstanceBo bo) {
- return toAjax(dmsBillsInspectInstanceService.insertByBo(bo));
+ public R add(@Validated(AddGroup.class) @RequestBody DmsBillsInspectInstanceBo bo) {
+ return R.ok(dmsBillsInspectInstanceService.insertByBo(bo));
}
/**
@@ -87,8 +87,8 @@ public class DmsBillsInspectInstanceController extends BaseController {
@Log(title = "点巡检工单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsInspectInstanceBo bo) {
- return toAjax(dmsBillsInspectInstanceService.updateByBo(bo));
+ public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsInspectInstanceBo bo) {
+ return R.ok(dmsBillsInspectInstanceService.updateByBo(bo));
}
/**
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsLubeInstanceController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsLubeInstanceController.java
index 48f64e1..acbc418 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsLubeInstanceController.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsLubeInstanceController.java
@@ -77,8 +77,8 @@ public class DmsBillsLubeInstanceController extends BaseController {
@Log(title = "润滑工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
- public R add(@Validated(AddGroup.class) @RequestBody DmsBillsLubeInstanceBo bo) {
- return toAjax(dmsBillsLubeInstanceService.insertByBo(bo));
+ public R add(@Validated(AddGroup.class) @RequestBody DmsBillsLubeInstanceBo bo) {
+ return R.ok(dmsBillsLubeInstanceService.insertByBo(bo));
}
/**
@@ -88,8 +88,8 @@ public class DmsBillsLubeInstanceController extends BaseController {
@Log(title = "润滑工单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsLubeInstanceBo bo) {
- return toAjax(dmsBillsLubeInstanceService.updateByBo(bo));
+ public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsLubeInstanceBo bo) {
+ return R.ok(dmsBillsLubeInstanceService.updateByBo(bo));
}
/**
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsMaintInstanceController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsMaintInstanceController.java
index f631248..3dbdb8d 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsMaintInstanceController.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBillsMaintInstanceController.java
@@ -77,8 +77,8 @@ public class DmsBillsMaintInstanceController extends BaseController {
@Log(title = "保养工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
- public R add(@Validated(AddGroup.class) @RequestBody DmsBillsMaintInstanceBo bo) {
- return toAjax(dmsBillsMaintInstanceService.insertByBo(bo));
+ public R add(@Validated(AddGroup.class) @RequestBody DmsBillsMaintInstanceBo bo) {
+ return R.ok(dmsBillsMaintInstanceService.insertByBo(bo));
}
/**
@@ -88,8 +88,8 @@ public class DmsBillsMaintInstanceController extends BaseController {
@Log(title = "保养工单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
- public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsMaintInstanceBo bo) {
- return toAjax(dmsBillsMaintInstanceService.updateByBo(bo));
+ public R edit(@Validated(EditGroup.class) @RequestBody DmsBillsMaintInstanceBo bo) {
+ return R.ok(dmsBillsMaintInstanceService.updateByBo(bo));
}
/**
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/DmsBillsInspectInstance.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsInspectInstance.java
index 95ddb37..d3502ef 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsInspectInstance.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsInspectInstance.java
@@ -86,4 +86,10 @@ public class DmsBillsInspectInstance extends TenantEntity {
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsLubeInstance.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsLubeInstance.java
index 9e1a290..560931b 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsLubeInstance.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsLubeInstance.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.tenant.core.TenantEntity;
import org.dromara.dms.domain.vo.DmsBillsLubeDetailVo;
import java.io.Serial;
@@ -22,7 +23,7 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dms_bills_lube_instance")
-public class DmsBillsLubeInstance extends BaseEntity {
+public class DmsBillsLubeInstance extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@@ -30,7 +31,7 @@ public class DmsBillsLubeInstance extends BaseEntity {
/**
* 主键标识
*/
- @TableId(value = "lube_instance_id", type = IdType.AUTO)
+ @TableId(value = "lube_instance_id")
private Long lubeInstanceId;
/**
@@ -93,6 +94,12 @@ public class DmsBillsLubeInstance extends BaseEntity {
*/
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
+
/**
* 计划编号
*/
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsMaintInstance.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsMaintInstance.java
index 9e9acef..8967ca6 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsMaintInstance.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBillsMaintInstance.java
@@ -30,7 +30,8 @@ public class DmsBillsMaintInstance extends TenantEntity {
/**
* 主键标识
*/
- @TableId(value = "maint_instance_id", type = IdType.AUTO)
+// @TableId(value = "maint_instance_id", type = IdType.AUTO)
+ @TableId(value = "maint_instance_id")
private Long maintInstanceId;
/**
@@ -99,6 +100,11 @@ public class DmsBillsMaintInstance extends TenantEntity {
*/
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
@TableField(exist = false)
private String maintStatusStr;
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectProjectDevice.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectProjectDevice.java
index e99eac5..a590274 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectProjectDevice.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectProjectDevice.java
@@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
+import java.io.Serializable;
/**
* 点巡检项目关联设备信息对象 dms_inspect_project_device
@@ -14,9 +15,9 @@ import java.io.Serial;
* @date 2025-03-24
*/
@Data
-@EqualsAndHashCode(callSuper = true)
+@EqualsAndHashCode()
@TableName("dms_inspect_project_device")
-public class DmsInspectProjectDevice extends TenantEntity {
+public class DmsInspectProjectDevice implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@@ -37,4 +38,9 @@ public class DmsInspectProjectDevice extends TenantEntity {
private Long targetId;
+ /**
+ * 租户编号
+ */
+ private String tenantId;
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectRouteDetail.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectRouteDetail.java
index c0d6b72..8c8d058 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectRouteDetail.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsInspectRouteDetail.java
@@ -64,4 +64,11 @@ public class DmsInspectRouteDetail extends TenantEntity {
@TableField(exist = false)
private String machineName;//JOIN
+ /**
+ * 标准名称
+ */
+ @TableField(exist = false)
+ private String standardName;
+
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanInspect.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanInspect.java
index 87a0377..6b56d41 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanInspect.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanInspect.java
@@ -1,6 +1,8 @@
package org.dromara.dms.domain;
+import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -26,6 +28,7 @@ public class DmsPlanInspect extends TenantEntity {
/**
* 主键标识
*/
+ @TableId(value = "plan_inspect_id", type = IdType.AUTO)
private Long planInspectId;
/**
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLube.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLube.java
index f700831..6b3be28 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLube.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLube.java
@@ -99,8 +99,6 @@ public class DmsPlanLube extends TenantEntity {
private String cronExpression;
-
-
/**
* 润滑计划明细列表
*/
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLubeDetail.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLubeDetail.java
index b1b526a..c9181b0 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLubeDetail.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsPlanLubeDetail.java
@@ -35,7 +35,7 @@ public class DmsPlanLubeDetail extends TenantEntity {
/**
* 设备ID,关联prod_base_machine_info的device_id
*/
- private Long machineId;
+ private Long deviceId;
/**
* 润滑部位,关联润滑部位主键
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/bo/DmsBillsInspectInstanceBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsInspectInstanceBo.java
index b27a2d7..c002a62 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsInspectInstanceBo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsInspectInstanceBo.java
@@ -82,5 +82,10 @@ public class DmsBillsInspectInstanceBo extends BaseEntity {
*/
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsLubeInstanceBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsLubeInstanceBo.java
index 7c61545..c652fac 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsLubeInstanceBo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsLubeInstanceBo.java
@@ -88,6 +88,11 @@ public class DmsBillsLubeInstanceBo extends BaseEntity {
*/
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
private String lubeStatusStr;//常量拼接的状态值
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsMaintInstanceBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsMaintInstanceBo.java
index 3a037fe..51dd78b 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsMaintInstanceBo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBillsMaintInstanceBo.java
@@ -94,4 +94,9 @@ public class DmsBillsMaintInstanceBo extends BaseEntity {
private String maintStatusStr;
+ /**
+ * 流程状态
+ */
+ private String status;
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsPlanLubeBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsPlanLubeBo.java
index 942f8f3..b85233e 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsPlanLubeBo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsPlanLubeBo.java
@@ -22,7 +22,7 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@AutoMapper(target = DmsPlanLube.class, reverseConvertGenerate = false)
+@AutoMapper(target = DmsPlanLube.class)
public class DmsPlanLubeBo extends BaseEntity {
/**
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/DmsBillsInspectInstanceVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsInspectInstanceVo.java
index fa1a8c5..a7b6e39 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsInspectInstanceVo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsInspectInstanceVo.java
@@ -104,5 +104,10 @@ public class DmsBillsInspectInstanceVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsLubeInstanceVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsLubeInstanceVo.java
index 7926d1d..dd1490c 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsLubeInstanceVo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsLubeInstanceVo.java
@@ -1,7 +1,10 @@
package org.dromara.dms.domain.vo;
+import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
@@ -109,6 +112,11 @@ public class DmsBillsLubeInstanceVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
+ /**
+ * 流程状态
+ */
+ private String status;
+
/**
* 计划编号
*/
@@ -119,4 +127,17 @@ public class DmsBillsLubeInstanceVo implements Serializable {
*/
private List dmsBillsLubeDetailList;
+
+ /**
+ * 创建者
+ */
+ @ExcelIgnore
+ private Long createBy;
+
+ /**
+ * 创建时间
+ */
+ @ExcelIgnore
+ private Date createTime;
+
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsMaintInstanceVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsMaintInstanceVo.java
index f00ea46..a05d046 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsMaintInstanceVo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBillsMaintInstanceVo.java
@@ -118,5 +118,8 @@ public class DmsBillsMaintInstanceVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
-
+ /**
+ * 流程状态
+ */
+ private String status;
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsInspectRouteDetailVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsInspectRouteDetailVo.java
index 34a3290..a13797a 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsInspectRouteDetailVo.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsInspectRouteDetailVo.java
@@ -75,4 +75,9 @@ public class DmsInspectRouteDetailVo implements Serializable {
*/
private String machineName;//JOIN
+ /**
+ * 标准名称
+ */
+ private String standardName;//JOIN
+
}
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
new file mode 100644
index 0000000..5b0607a
--- /dev/null
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteInspectInstanceServiceImpl.java
@@ -0,0 +1,147 @@
+package org.dromara.dms.dubbo;
+
+
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+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.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;
+
+import java.util.Date;
+import java.util.List;
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteInspectInstanceServiceImpl implements RemoteInspectInstanceService {
+
+
+ private final DmsPlanInspectMapper dmsPlanInspectMapper;
+
+ private final DmsInspectRouteDetailMapper dmsInspectRouteDetailMapper;
+
+ private final DmsBillsInspectInstanceMapper dmsBillsInspectInstanceMapper;
+
+ private final DmsInspectInstanceDetailMapper dmsInspectInstanceDetailMapper;
+
+ private final DmsInspectInstanceDetailProjectMapper dmsInspectInstanceDetailProjectMapper;
+
+ private final DmsInspectProjectDeviceMapper dmsInspectProjectDeviceMapper;
+
+
+ @Override
+ @Transactional( rollbackFor = Exception.class )
+ public R insertInspectInstance(String planInspectCode, String tenantId, Long userId){
+ // 使用 replaceAll 方法将双引号替换为空字符串
+ String result = planInspectCode.replaceAll("\"", "");
+
+ DmsPlanInspect dmsPlanInspect = dmsPlanInspectMapper.selectPlanInspectJoinJobByInspectCode(result);
+ Long timeLimit = dmsPlanInspect.getTimeLimit();
+ if (timeLimit != null) {
+ Long days = timeLimit / (24 * 60 * 60l);
+ Long hours = timeLimit % (24 * 60 * 60l);
+// System.out.println(days);
+// System.out.println(hours);
+ dmsPlanInspect.setTimeLimitDays(days);
+ dmsPlanInspect.setTimeLimitHours(hours / (60 * 60l));
+ }
+
+ DmsBillsInspectInstance dmsBillsInspectInstance = new DmsBillsInspectInstance();
+ // DmsRepairInstance dmsRepairInstance = dmsRepairInstanceService.selectDmsRepairInstanceByRepairInstanceId(2l);
+ dmsBillsInspectInstance.setPlanInspectId(dmsPlanInspect.getPlanInspectId());
+// dmsBillsInspectInstance.setWfProcessId(105l);
+ dmsBillsInspectInstance.setInspectType(dmsPlanInspect.getInspectType());//检查类型(1巡检 2点检)
+ dmsBillsInspectInstance.setPlanBeginTime(dmsPlanInspect.getPlanTime());
+ dmsBillsInspectInstance.setPlanEndTime(new Date(dmsPlanInspect.getPlanTime().getTime()+dmsPlanInspect.getTimeLimit()*1000l));
+ dmsBillsInspectInstance.setInspectRouteId(dmsPlanInspect.getInspectRouteId());
+// dmsBillsInspectInstance.setDeviceAmount(dmsPlanInspect.getDeviceAmount());//设备数量
+// dmsBillsInspectInstance.setPerformer(dmsPlanInspect.getPerformer());//执行人
+
+ //写死105,也可根据传入对象的wfprocessid作为传参。
+/*
+ Long aLong = dmsRepairInstanceMapper.selectWfProcessActivityId(105l);
+ if (dmsBillsInspectInstance.getInspectType().equals("1")) {
+ dmsBillsInspectInstance.setWfProcessId(105l);
+ } else if (dmsBillsInspectInstance.getInspectType().equals("2")) {
+ dmsBillsInspectInstance.setWfProcessId(104l);
+ }
+*/
+
+// dmsBillsInspectInstance.setIsFlag("1");
+ dmsBillsInspectInstance.setInspectStatus(DmsConstants.DMS_BILLS_INSPECT_INSTANCE_INSPECT_STATUS_TO_INSPECT);//待巡检
+ dmsBillsInspectInstance.setCreateBy(userId);
+// dmsBillsInspectInstance.setCreateTime(new Date());
+ dmsBillsInspectInstance.setTenantId(tenantId);
+ int i = dmsBillsInspectInstanceMapper.insert(dmsBillsInspectInstance);
+
+// List dmsBillsInspectInstances = dmsBillsInspectInstanceMapper.selectDmsBillsInspectInstanceList(dmsBillsInspectInstance);
+ //新建第一步工单实例节点
+/*
+ DmsBillsInspectInstanceActivity dmsBillsInspectInstanceActivity = new DmsBillsInspectInstanceActivity();
+ dmsBillsInspectInstanceActivity.setInspectInstanceId(dmsBillsInspectInstance.getInspectInstanceId());
+ dmsBillsInspectInstanceActivity.setInspectRouteId(dmsBillsInspectInstance.getInspectRouteId());
+ dmsBillsInspectInstanceActivity.setDeviceAmount(dmsBillsInspectInstance.getDeviceAmount());
+ dmsBillsInspectInstanceActivity.setPerformer(dmsBillsInspectInstance.getPerformer());
+ dmsBillsInspectInstanceActivity.setProcessStepOrder(1l);
+ dmsBillsInspectInstanceActivity.setProcessActivityId(aLong);
+ dmsBillsInspectInstanceActivityMapper.insertDmsBillsInspectInstanceActivity(dmsBillsInspectInstanceActivity);
+*/
+
+ //新建点巡检工单明细
+/* DmsInspectRouteDetail queryInspectRouteDetail = new DmsInspectRouteDetail();
+ queryInspectRouteDetail.setInspectRouteId(dmsBillsInspectInstance.getInspectRouteId());*/
+ MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsInspectRouteDetail.class)
+ .eq(DmsInspectRouteDetail::getInspectRouteId, dmsBillsInspectInstance.getInspectRouteId());
+ List dmsInspectRouteDetails = dmsInspectRouteDetailMapper.selectList(lqw);
+ for(DmsInspectRouteDetail dmsInspectRouteDetail:dmsInspectRouteDetails){
+ DmsInspectInstanceDetail dmsInspectInstanceDetail = new DmsInspectInstanceDetail();
+ Long deviceId = dmsInspectRouteDetail.getMachineId();
+ dmsInspectInstanceDetail.setInspectInstanceId(dmsBillsInspectInstance.getInspectInstanceId());
+ dmsInspectInstanceDetail.setLineStep(dmsInspectRouteDetail.getLineStep());
+ dmsInspectInstanceDetail.setMachineId(deviceId);
+ dmsInspectInstanceDetail.setInstanceDetailStatus("1");//(1待巡检 2巡检中 3已完成)
+ dmsInspectInstanceDetail.setInspectStandard(dmsInspectRouteDetail.getInspectStandard());
+ dmsInspectInstanceDetail.setInspectStatus("0");//FIXME:为什么设置为异常?设备状态(1正常 0异常)
+
+// dmsInspectInstanceDetailMapper.insertDmsInspectInstanceDetail(dmsInspectInstanceDetail);
+
+ dmsInspectInstanceDetail.setTenantId(tenantId);
+ dmsInspectInstanceDetail.setCreateBy(userId);
+// dmsInspectInstanceDetail.setCreateTime(new Date());
+ dmsInspectInstanceDetailMapper.insert(dmsInspectInstanceDetail);
+ Long projectId = dmsInspectInstanceDetailMapper.selectProjectId(dmsInspectRouteDetail.getInspectStandard());
+
+// DmsInspectProjectDevice queryInspectProjectDevice = new DmsInspectProjectDevice();
+// queryInspectProjectDevice.setTargetType("2");//FIXME:关联类型(1设备类型)
+// queryInspectProjectDevice.setTargetId(deviceId);
+ MPJLambdaWrapper DmsInspectProjectDeviceLQW = JoinWrappers.lambda(DmsInspectProjectDevice.class)
+ .eq(DmsInspectProjectDevice::getTargetType, "2")//FIXME:关联类型(1设备类型)
+ .eq(DmsInspectProjectDevice::getTargetId, deviceId);
+ List dmsInspectProjectDevices = dmsInspectProjectDeviceMapper.selectList(DmsInspectProjectDeviceLQW);
+
+
+ // for(DmsInspectProjectDevice dmsInspectProjectDevice:dmsInspectProjectDevices){
+ DmsInspectInstanceDetailProject dmsInspectInstanceDetailProject = new DmsInspectInstanceDetailProject();
+ dmsInspectInstanceDetailProject.setInstanceDetailId(dmsInspectInstanceDetail.getInstanceDetailId());
+ dmsInspectInstanceDetailProject.setInspectProjectId(projectId);
+// dmsInspectInstanceDetailProjectMapper.insertDmsInspectInstanceDetailProject(dmsInspectInstanceDetailProject);
+
+ dmsInspectInstanceDetailProject.setTenantId(tenantId);
+ dmsInspectInstanceDetailProject.setCreateBy(userId);
+// dmsInspectInstanceDetailProject.setCreateTime(new Date());
+ dmsInspectInstanceDetailProjectMapper.insert(dmsInspectInstanceDetailProject);
+// }
+
+ }
+
+ return R.ok(i);
+
+ }
+}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteLubeInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteLubeInstanceServiceImpl.java
new file mode 100644
index 0000000..e1d65d7
--- /dev/null
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteLubeInstanceServiceImpl.java
@@ -0,0 +1,133 @@
+package org.dromara.dms.dubbo;
+
+
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+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.MapstructUtils;
+import org.dromara.common.core.utils.uuid.Seq;
+import org.dromara.dms.domain.*;
+import org.dromara.dms.domain.bo.DmsBillsLubeInstanceBo;
+import org.dromara.dms.domain.bo.DmsPlanLubeBo;
+import org.dromara.dms.domain.vo.DmsBillsLubeInstanceVo;
+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;
+import java.util.Date;
+import java.util.List;
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteLubeInstanceServiceImpl implements RemoteLubeInstanceService {
+ private final DmsBillsLubeInstanceMapper dmsBillsLubeInstanceMapper;
+
+ private final DmsBillsLubeDetailMapper dmsBillsLubeDetailMapper;
+
+ private final DmsPlanLubeMapper dmsPlanLubeMapper;
+
+ private final DmsBillsLubeInstanceActivityMapper dmsBillsLubeInstanceActivityMapper;
+
+ private final DmsPlanLubeDetailMapper dmsPlanLubeDetailMapper;
+
+ private final IDmsBillsLubeInstanceService dmsBillsLubeInstanceService;
+
+ private final IDmsPlanInspectService dmsPlanInspectService;
+
+ private final DmsPlanInspectMapper dmsPlanInspectMapper;
+
+ private final DmsInspectRouteDetailMapper dmsInspectRouteDetailMapper;
+
+
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R insertLubeInstance(String planLubeCode, String tenantId, Long userId) {
+ // 去除润滑计划编号中的双引号
+// String lubeInstanceCodeS = planLubeCode.replaceAll("\"", "");
+
+ // 根据润滑计划编号查询润滑计划信息
+ DmsPlanLube dmsPlanLube = dmsPlanLubeMapper.selectDmsPlanLubeJoinByPlanLubeCode(planLubeCode);
+
+ DmsPlanLubeDetail dmsPlanLubeDetail = new DmsPlanLubeDetail();
+ dmsPlanLubeDetail.setPlanLubeId(dmsPlanLube.getPlanLubeId());
+ MPJLambdaWrapper dmsPlanLubeDetailWrapper = JoinWrappers
+ .lambda(DmsPlanLubeDetail.class)
+ .eq(DmsPlanLubeDetail::getPlanLubeId, dmsPlanLube.getPlanLubeId());
+ List dmsPlanLubeDetailList = dmsPlanLubeDetailMapper.selectVoList(dmsPlanLubeDetailWrapper);
+ dmsPlanLube.setDmsPlanLubeDetailList(dmsPlanLubeDetailList);
+
+
+ // 获取润滑计划详情列表
+ List planLubeDetails = dmsPlanLube.getDmsPlanLubeDetailList();
+ if (planLubeDetails == null || planLubeDetails.isEmpty()) {
+ // 如果润滑计划详情为空,返回false
+ return R.fail();
+ }
+
+ // 创建新的润滑工单实例对象
+ DmsBillsLubeInstance dmsBillsLubeInstance = new DmsBillsLubeInstance();
+ // 设置创建人
+ dmsBillsLubeInstance.setCreateBy(dmsPlanLube.getCreateBy());
+ // 设置润滑工单的计划ID
+ dmsBillsLubeInstance.setPlanLubeId(dmsPlanLube.getPlanLubeId());
+ // 设置计划开始时间为润滑时间
+ dmsBillsLubeInstance.setPlanBeginTime(dmsPlanLube.getLubeTime());
+ // 生成并设置润滑工单编码
+ dmsBillsLubeInstance.setBillsLubeCode(Seq.getId(Seq.dmsLubeInstanceSeqType, Seq.dmsLubeInstanceCode));
+ // 设置润滑状态为待润滑
+ dmsBillsLubeInstance.setLubeStatus(DmsConstants.DMS_BILLS_LUBE_INSTANCE_STATUS_TO_LUBE);
+ // 设置润滑组
+ dmsBillsLubeInstance.setLubeGroup(dmsPlanLube.getLubeGroup());
+ // 设置润滑监督人
+ dmsBillsLubeInstance.setLubeSupervisor(dmsPlanLube.getLubeSupervisor());
+ // 设置润滑级别
+ dmsBillsLubeInstance.setLubeLevel(dmsPlanLube.getLubeLevel());
+ // 获取时间限制
+ Long timeLimit = dmsPlanLube.getTimeLimit();
+ // 计算并设置计划结束时间
+ Date planEndTime = new Date(dmsPlanLube.getLubeTime().getTime() + timeLimit * 1000L);
+ 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 lubeDetails = dmsPlanLubeBo.getDmsPlanLubeDetailList();
+ List billsLubeDetails = new ArrayList<>();
+ for (DmsPlanLubeDetailVo planLubeDetail : lubeDetails) {
+ DmsBillsLubeDetail dmsBillsLubeDetail = new DmsBillsLubeDetail();
+ dmsBillsLubeDetail.setLubeInstanceId(dmsBillsLubeInstance.getLubeInstanceId());
+ dmsBillsLubeDetail.setMachineId(planLubeDetail.getDeviceId());
+ dmsBillsLubeDetail.setLubeStationId(planLubeDetail.getLubeStationId());
+ dmsBillsLubeDetail.setLubeStandardId(planLubeDetail.getLubeStandardId());
+ //dmsBillsLubeDetail.setActiveFlag("Y"); // 假设是否标记字段对应activeFlag
+
+ dmsBillsLubeDetail.setTenantId(tenantId);
+ dmsBillsLubeDetail.setCreateBy(userId);
+// dmsBillsLubeDetail.setCreateTime(new Date());
+
+ dmsBillsLubeDetailMapper.insert(dmsBillsLubeDetail);
+ }
+
+ return R.ok();
+ }
+
+
+}
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
new file mode 100644
index 0000000..3f78042
--- /dev/null
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteMaintInstanceServiceImpl.java
@@ -0,0 +1,130 @@
+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;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteMaintInstanceServiceImpl implements RemoteMaintInstanceService {
+
+ private final DmsPlanMaintMapper dmsPlanMaintMapper;
+
+ private final DmsBillsMaintInstanceMapper dmsBillsMaintInstanceMapper;
+
+ private final DmsBillsMaintDetailMapper dmsBillsMaintDetailMapper;
+
+ private final DmsBillsMaintDetailProjectMapper dmsBillsMaintDetailProjectMapper;
+
+
+
+ /**
+ * 新增保养工单
+ *
+ * @param planMaintCode 保养计划编号
+ * @return 结果
+ */
+ @Override
+ @Transactional( rollbackFor = Exception.class )
+ public R insertDmsBillsMaintInstance(String planMaintCode , String tenantId, Long userId) {
+ String planMaintCodeS = planMaintCode.replaceAll("\"", "");
+ DmsPlanMaint dmsPlanMaint = dmsPlanMaintMapper.selectDmsPlanMaintJoinByPlanMaintCode(planMaintCodeS);
+ List planMaintDetails = dmsPlanMaint.getDmsPlanMaintDetailList();
+ if (planMaintDetails == null || planMaintDetails.isEmpty()) {
+ return R.fail();
+ }
+
+ DmsBillsMaintInstance dmsBillsMaintInstance = new DmsBillsMaintInstance();
+ dmsBillsMaintInstance.setPlanBeginTime(dmsPlanMaint.getMaintTime());
+ dmsBillsMaintInstance.setPlanMaintId(dmsPlanMaint.getPlanMaintId());
+ dmsBillsMaintInstance.setBillsMaintCode(Seq.getId(Seq.maintInstanceSeqType, Seq.maintInstanceCode));
+ dmsBillsMaintInstance.setMaintStatus(DmsConstants.DMS_BILLS_MAINT_INSTANCE_STATUS_TO_MAINT);//待保养
+ dmsBillsMaintInstance.setMaintGroup(dmsPlanMaint.getMaintGroup());
+ dmsBillsMaintInstance.setMaintSupervisor(dmsPlanMaint.getMaintSupervisor());
+ dmsBillsMaintInstance.setMaintLevel(dmsPlanMaint.getMaintLevel());
+
+
+ Date lubeTime = dmsPlanMaint.getMaintTime();
+ Long timeLimit = dmsPlanMaint.getTimeLimit();
+// dmsBillsMaintInstance.setIsFlag(1l);
+// dmsBillsMaintInstance.setWfProcessId(103l);
+ dmsBillsMaintInstance.setPlanEndTime(new Date(lubeTime.getTime() + timeLimit * 1000l));
+
+ //字段没有自动填充,只能代码手动填充
+ dmsBillsMaintInstance.setCreateBy(userId);
+ dmsBillsMaintInstance.setTenantId(tenantId);
+
+ int i = dmsBillsMaintInstanceMapper.insert(dmsBillsMaintInstance);
+
+// DmsMaintInstanceActivity dmsMaintInstanceActivity = new DmsMaintInstanceActivity();
+// dmsMaintInstanceActivity.setMaintInstanceId(dmsBillsMaintInstance.getMaintInstanceId());
+// dmsMaintInstanceActivity.setProcessStepOrder(1L);
+// int i1 = dmsMaintInstanceActivityMapper.insertDmsMaintInstanceActivity(dmsMaintInstanceActivity);
+ batchInsertDmsBillsMaintDetail(dmsPlanMaint, dmsBillsMaintInstance.getMaintInstanceId(), tenantId, userId);
+ return R.ok(i);
+ }
+
+
+ @Transactional( rollbackFor = Exception.class )
+ public void batchInsertDmsBillsMaintDetail(DmsPlanMaint dmsPlanMaint, Long maintInstanceId, String tenantId, Long userId) {
+ List planMaintDetails = dmsPlanMaint.getDmsPlanMaintDetailList();
+ List billsMaintDetails = new ArrayList<>();
+ planMaintDetails.forEach(planMaintDetail -> {
+ DmsBillsMaintDetail dmsBillsMaintDetail = new DmsBillsMaintDetail();
+ dmsBillsMaintDetail.setMaintInstanceId(maintInstanceId);
+ dmsBillsMaintDetail.setMachineId(planMaintDetail.getMachineId());
+ dmsBillsMaintDetail.setMaintStationId(planMaintDetail.getMaintStationId());
+ dmsBillsMaintDetail.setMaintStandardId(planMaintDetail.getMaintStandardId());
+// dmsBillsMaintDetail.setIsFlag(1L);
+ dmsBillsMaintDetail.setMaintStatus(1L);//保养状态(1待保养 2保养中 3已完成)
+
+ //字段没有自动填充,只能代码手动填充
+ dmsBillsMaintDetail.setCreateBy(userId);
+ dmsBillsMaintDetail.setTenantId(tenantId);
+
+ dmsBillsMaintDetailMapper.insert(dmsBillsMaintDetail);
+ });
+
+ ArrayList billsMaintDetailProjectList = new ArrayList<>();
+ List list = dmsBillsMaintDetailMapper.selectDetailList(maintInstanceId);
+ for (DmsBillsMaintDetail detail : list) {
+ List projects = dmsBillsMaintDetailMapper.selectPrjectIds(detail.getMaintStationId());
+ for (DmsBaseMaintProject project : projects) {
+ DmsBillsMaintDetailProject billsMaintDetailProject = new DmsBillsMaintDetailProject();
+ billsMaintDetailProject.setBillsMaintDetailId(detail.getBillsMaintDetailId());
+// DmsBaseMaintStation station = dmsBillsMaintDetailMapper.selectMainStation(detail.getStationId());
+ billsMaintDetailProject.setMaintProjectId(project.getMaintProjectId());
+ billsMaintDetailProject.setMaintProjectName(project.getMaintProjectName());
+ billsMaintDetailProject.setMaintProjectDesc(project.getMaintProjectDesc());
+ billsMaintDetailProject.setMaintProjectStatus("2");//保养项目状态(0待保养 1保养完成)FIXME:为什么是2??
+
+ //字段没有自动填充,只能代码手动填充
+ billsMaintDetailProject.setCreateBy(userId);
+ billsMaintDetailProject.setTenantId(tenantId);
+
+ dmsBillsMaintDetailProjectMapper.insert(billsMaintDetailProject);
+ }
+
+ }
+
+ }
+}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteRepairStanceServicempl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteRepairStanceServicempl.java
new file mode 100644
index 0000000..334c5a0
--- /dev/null
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/dubbo/RemoteRepairStanceServicempl.java
@@ -0,0 +1,132 @@
+package org.dromara.dms.dubbo;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.utils.DateUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.dms.api.RemoteRepairStanceService;
+import org.dromara.dms.domain.DmsPlanRepair;
+import org.dromara.dms.domain.DmsRepairInstance;
+import org.dromara.dms.domain.DmsRepairInstanceActivity;
+import org.dromara.dms.mapper.DmsPlanRepairMapper;
+import org.dromara.dms.mapper.DmsRepairInstanceActivityMapper;
+import org.dromara.dms.mapper.DmsRepairInstanceMapper;
+import org.dromara.dms.service.IDmsPlanRepairService;
+import org.dromara.system.api.model.LoginUser;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteRepairStanceServicempl implements RemoteRepairStanceService {
+
+ private final DmsPlanRepairMapper dmsPlanRepairMapper;
+
+ private final DmsRepairInstanceMapper dmsRepairInstanceMapper;
+
+ private final DmsRepairInstanceActivityMapper dmsRepairInstanceActivityMapper;
+
+ private final IDmsPlanRepairService dmsPlanRepairService;
+
+ public static String lastDate="2000-01-01";
+ //流水号
+ public static int serialNumber = 0;
+
+
+ /**
+ * 新增检修工单;一是根据检修计划自动创建的检修工单,二是手工创建故障报修工单
+ *
+ */
+ @Override
+ @Transactional( rollbackFor = Exception.class )
+ public R insertDmsRepairInstance(String planRepairCode) {
+
+ String repairCode = planRepairCode.replaceAll("\"", "");
+ DmsPlanRepair dmsPlanRepair = dmsPlanRepairMapper.selectDmsPlanRepairByPlanRepairCode(repairCode);
+
+ Long timeLimit = dmsPlanRepair.getTimeLimit();
+ if (timeLimit !=null){
+ Long days = timeLimit / (24 * 60 * 60l);
+ Long hours = timeLimit % (24 * 60 * 60l);
+ dmsPlanRepair.setTimeLimitDays(days);
+ dmsPlanRepair.setTimeLimitHours(hours/(60*60l));
+ }
+
+ dmsPlanRepair.setCreateMethod("2");//1:手工创建工单,2:根据计划自动创建工单
+ DmsRepairInstance dmsRepairInstance = new DmsRepairInstance();
+// dmsRepairInstance.setWfProcessId(101l);
+ dmsRepairInstance.setPlanRepairId(dmsPlanRepair.getPlanRepairId());
+ dmsRepairInstance.setPlanBeginTime(dmsPlanRepair.getRepairTime());
+ dmsRepairInstance.setInstanceType("2");//工单类型(1手工创建 2自动创建)
+// dmsRepairInstance.setRepairType(dmsPlanRepair.getRepairType());
+// dmsRepairInstance.setRepairGroup(dmsPlanRepair.getRepairGroup());
+// dmsRepairInstance.setRepairSupervisor(dmsPlanRepair.getRepairSupervisor());
+
+
+// WfProcessActivity wfProcessActivity = new WfProcessActivity();
+// wfProcessActivity.setWfProcessId(dmsRepairInstance.getWfProcessId());
+// Long aLong = dmsRepairInstanceMapper.selectWfProcessActivityId(dmsRepairInstance.getWfProcessId());
+
+ // 创建一个SimpleDateFormat对象,用于格式化日期为"yyyyMMdd"格式
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ // 获取当前日期
+ Date date = new Date();
+ // 将当前日期格式化为字符串
+ String format = sdf.format(date);
+ // 如果格式化后的日期字符串与上次记录的日期不同
+ if (!format.equals(lastDate)){
+ // 更新上次记录的日期为当前日期
+ lastDate = format;
+ // 重置序列号为0
+ serialNumber = 0;
+ }
+ // 增加序列号
+ serialNumber++;
+ // 将序列号格式化为6位数,不足部分用0填充
+ String serialNumberStr = String.format("%06d", serialNumber);
+ // 拼接日期和序列号生成每日代码
+ String dailyCode = format + serialNumberStr;
+ // 设置维修单的代码
+ dmsRepairInstance.setBillsRepairCode(dailyCode);
+
+// LoginUser user = SecurityUtils.getLoginUser();
+ LoginUser user = LoginHelper.getLoginUser();
+ if (dmsRepairInstance.getPlanBeginTime()!=null){
+ DmsPlanRepair planRepair = dmsPlanRepairMapper.selectDmsPlanRepairByPlanRepairId(dmsRepairInstance.getPlanRepairId());
+ Long limit = planRepair.getTimeLimit();
+ Date planBeginTime = dmsRepairInstance.getPlanBeginTime();
+ dmsRepairInstance.setPlanEndTime(new Date(planBeginTime.getTime() + limit*1000l));
+ }
+// dmsRepairInstance.setIsFlag("1");
+ dmsRepairInstance.setBillsStatus("1");//工单状态(0待检修 1检修中 2检修完成)
+ if (dmsRepairInstance.getInstanceType()==null) {
+ dmsRepairInstance.setInstanceType("1");//工单类型(1手工创建 2自动创建)
+ }
+// dmsRepairInstance.setApplyBy(user.getUsername());
+// dmsRepairInstance.setApplyTime(DateUtils.getNowDate());
+// dmsRepairInstance.setWfProcessId(101l);
+ int flag = dmsRepairInstanceMapper.insert(dmsRepairInstance);
+
+ //创建工单时新建工单实例节点
+ DmsRepairInstanceActivity dmsRepairInstanceActivity = new DmsRepairInstanceActivity();
+ dmsRepairInstanceActivity.setRepairInstanceId(dmsRepairInstance.getRepairInstanceId());
+ dmsRepairInstanceActivity.setProcessHandleStatus("1");//状态(0已结束 1执行中 2待接取 3已转发)
+ //先写死第一步所对应的步骤,后续通过wfProcessId来查询步骤对应的id
+// dmsRepairInstanceActivity.setProcessActivityId(aLong);
+ dmsRepairInstanceActivity.setProcessStepOrder(1l);//工单流程步骤顺序
+// dmsRepairInstanceActivity.setCreateBy();
+ dmsRepairInstanceActivity.setCreateTime(DateUtils.getNowDate());
+ dmsRepairInstanceActivity.setStartTime(DateUtils.getNowDate());
+// dmsRepairInstanceActivity.setRepairType(dmsRepairInstance.getRepairType());
+// dmsRepairInstanceActivity.setRepairGroup(dmsRepairInstance.getRepairGroup());
+// dmsRepairInstanceActivity.setRepairSupervisor(dmsRepairInstance.getRepairSupervisor());
+ dmsRepairInstanceActivityMapper.insert(dmsRepairInstanceActivity);
+ return R.ok(flag);
+ }
+
+}
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/DmsBillsMaintDetailMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsMaintDetailMapper.java
index 9b575c2..b50cc64 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsMaintDetailMapper.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBillsMaintDetailMapper.java
@@ -1,6 +1,7 @@
package org.dromara.dms.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.dms.domain.DmsBaseMaintProject;
import org.dromara.dms.domain.DmsBillsMaintDetail;
import org.dromara.dms.domain.DmsBillsMaintInstance;
import org.dromara.dms.domain.vo.DmsBaseMaintProjectVo;
@@ -25,11 +26,11 @@ public interface DmsBillsMaintDetailMapper extends BaseMapperPlus selectDmsBillsMaintDetailJoinList(DmsBillsMaintDetail dmsBillsMaintDetail);
- List selectDetailList(Long maintInstanceId);
+ List selectDetailList(Long maintInstanceId);
DmsBaseMaintStationVo selectMainStation(Long stationId);
- List selectPrjectIds(Long stationId);
+ List selectPrjectIds(Long stationId);
/**
* 查询最新一条保养工单,Join 第一步节点
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/IDmsBillsInspectInstanceService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsInspectInstanceService.java
index 3b35fc7..3b10759 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsInspectInstanceService.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsInspectInstanceService.java
@@ -48,7 +48,7 @@ public interface IDmsBillsInspectInstanceService {
* @param bo 点巡检工单
* @return 是否新增成功
*/
- Boolean insertByBo(DmsBillsInspectInstanceBo bo);
+ DmsBillsInspectInstanceVo insertByBo(DmsBillsInspectInstanceBo bo);
/**
* 修改点巡检工单
@@ -56,7 +56,7 @@ public interface IDmsBillsInspectInstanceService {
* @param bo 点巡检工单
* @return 是否修改成功
*/
- Boolean updateByBo(DmsBillsInspectInstanceBo bo);
+ DmsBillsInspectInstanceVo updateByBo(DmsBillsInspectInstanceBo bo);
/**
* 校验并批量删除点巡检工单信息
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsLubeInstanceService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsLubeInstanceService.java
index ed2f0f4..8cbb3e0 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsLubeInstanceService.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsLubeInstanceService.java
@@ -48,7 +48,7 @@ public interface IDmsBillsLubeInstanceService {
* @param bo 润滑工单
* @return 是否新增成功
*/
- Boolean insertByBo(DmsBillsLubeInstanceBo bo);
+ DmsBillsLubeInstanceVo insertByBo(DmsBillsLubeInstanceBo bo);
/**
* 修改润滑工单
@@ -56,7 +56,7 @@ public interface IDmsBillsLubeInstanceService {
* @param bo 润滑工单
* @return 是否修改成功
*/
- Boolean updateByBo(DmsBillsLubeInstanceBo bo);
+ DmsBillsLubeInstanceVo updateByBo(DmsBillsLubeInstanceBo bo);
/**
* 校验并批量删除润滑工单信息
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsMaintInstanceService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsMaintInstanceService.java
index 1ad73d9..1befd22 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsMaintInstanceService.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBillsMaintInstanceService.java
@@ -49,7 +49,7 @@ public interface IDmsBillsMaintInstanceService {
* @param bo 保养工单
* @return 是否新增成功
*/
- Boolean insertByBo(DmsBillsMaintInstanceBo bo);
+ DmsBillsMaintInstanceVo insertByBo(DmsBillsMaintInstanceBo bo);
/**
* 修改保养工单
@@ -57,7 +57,7 @@ public interface IDmsBillsMaintInstanceService {
* @param bo 保养工单
* @return 是否修改成功
*/
- Boolean updateByBo(DmsBillsMaintInstanceBo bo);
+ DmsBillsMaintInstanceVo updateByBo(DmsBillsMaintInstanceBo bo);
/**
* 校验并批量删除保养工单信息
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/DmsBillsInspectInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsInspectInstanceServiceImpl.java
index a9e6147..2f4db69 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsInspectInstanceServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsInspectInstanceServiceImpl.java
@@ -108,14 +108,14 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
* @return 是否新增成功
*/
@Override
- public Boolean insertByBo(DmsBillsInspectInstanceBo bo) {
+ public DmsBillsInspectInstanceVo insertByBo(DmsBillsInspectInstanceBo bo) {
DmsBillsInspectInstance add = MapstructUtils.convert(bo, DmsBillsInspectInstance.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setInspectInstanceId(add.getInspectInstanceId());
}
- return flag;
+ return MapstructUtils.convert(add, DmsBillsInspectInstanceVo.class);
}
/**
@@ -125,10 +125,10 @@ public class DmsBillsInspectInstanceServiceImpl implements IDmsBillsInspectInsta
* @return 是否修改成功
*/
@Override
- public Boolean updateByBo(DmsBillsInspectInstanceBo bo) {
+ public DmsBillsInspectInstanceVo updateByBo(DmsBillsInspectInstanceBo bo) {
DmsBillsInspectInstance update = MapstructUtils.convert(bo, DmsBillsInspectInstance.class);
validEntityBeforeSave(update);
- return baseMapper.updateById(update) > 0;
+ return MapstructUtils.convert(update, DmsBillsInspectInstanceVo.class);
}
/**
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsLubeInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsLubeInstanceServiceImpl.java
index 186a539..d4b00d2 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsLubeInstanceServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsLubeInstanceServiceImpl.java
@@ -29,6 +29,7 @@ import org.dromara.dms.mapper.*;
import org.dromara.dms.service.IDmsBillsLubeInstanceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
import java.util.*;
import java.util.stream.Collectors;
@@ -124,14 +125,14 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
* @return 是否新增成功
*/
@Override
- public Boolean insertByBo(DmsBillsLubeInstanceBo bo) {
+ public DmsBillsLubeInstanceVo insertByBo(DmsBillsLubeInstanceBo bo) {
DmsBillsLubeInstance add = MapstructUtils.convert(bo, DmsBillsLubeInstance.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setLubeInstanceId(add.getLubeInstanceId());
}
- return flag;
+ return MapstructUtils.convert(add, DmsBillsLubeInstanceVo.class);
}
/**
@@ -141,10 +142,10 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
* @return 是否修改成功
*/
@Override
- public Boolean updateByBo(DmsBillsLubeInstanceBo bo) {
+ public DmsBillsLubeInstanceVo updateByBo(DmsBillsLubeInstanceBo bo) {
DmsBillsLubeInstance update = MapstructUtils.convert(bo, DmsBillsLubeInstance.class);
validEntityBeforeSave(update);
- return baseMapper.updateById(update) > 0;
+ return MapstructUtils.convert(update, DmsBillsLubeInstanceVo.class);
}
/**
@@ -225,13 +226,13 @@ public class DmsBillsLubeInstanceServiceImpl implements IDmsBillsLubeInstanceSer
dmsBillsLubeInstanceBo.setPlanEndTime(planEndTime);
// 插入润滑工单实例到数据库
- boolean success = this.insertByBo(dmsBillsLubeInstanceBo);
+ DmsBillsLubeInstanceVo billsLubeInstance = this.insertByBo(dmsBillsLubeInstanceBo);
DmsPlanLubeBo dmsPlanLubeBo = MapstructUtils.convert(dmsPlanLube, DmsPlanLubeBo.class);
// 批量插入润滑工单详情
batchInsertDmsBillsLubeDetail(dmsPlanLubeBo, dmsBillsLubeInstanceBo.getLubeInstanceId());
- return success;
+ return !ObjectUtils.isEmpty(billsLubeInstance);//不为空返回true
}
/**
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsMaintInstanceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsMaintInstanceServiceImpl.java
index 6cfe550..c88b909 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsMaintInstanceServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBillsMaintInstanceServiceImpl.java
@@ -63,7 +63,7 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
* @return 保养工单
*/
@Override
- public DmsBillsMaintInstanceVo queryById(Long maintInstanceId){
+ public DmsBillsMaintInstanceVo queryById(Long maintInstanceId) {
return baseMapper.selectVoById(maintInstanceId);
}
@@ -96,26 +96,24 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
private MPJLambdaWrapper buildQueryWrapper(DmsBillsMaintInstanceBo bo) {
Map params = bo.getParams();
MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBillsMaintInstance.class)
- .selectAll(DmsBillsMaintInstance.class)
-
+ .selectAll(DmsBillsMaintInstance.class)
.select(DmsPlanMaint::getMaintSupervisor)
- .selectAs(DmsPlanMaint::getRemark,DmsBillsMaintInstance::getPlanRemark)
- .leftJoin(DmsPlanMaint.class,DmsPlanMaint::getPlanMaintId,DmsBillsMaintInstance::getPlanMaintId)
-
- .eq(bo.getMaintInstanceId() != null, DmsBillsMaintInstance::getMaintInstanceId, bo.getMaintInstanceId())
- .eq(bo.getPlanMaintId() != null, DmsBillsMaintInstance::getPlanMaintId, bo.getPlanMaintId())
- .eq(bo.getWfDefinitionId() != null, DmsBillsMaintInstance::getWfDefinitionId, bo.getWfDefinitionId())
- .eq(StringUtils.isNotBlank(bo.getBillsMaintCode()), DmsBillsMaintInstance::getBillsMaintCode, bo.getBillsMaintCode())
- .eq(StringUtils.isNotBlank(bo.getMaintGroup()), DmsBillsMaintInstance::getMaintGroup, bo.getMaintGroup())
- .eq(StringUtils.isNotBlank(bo.getMaintSupervisor()), DmsBillsMaintInstance::getMaintSupervisor, bo.getMaintSupervisor())
- .eq(bo.getMaintLevel() != null , DmsBillsMaintInstance::getMaintLevel, bo.getMaintLevel())
- .eq(bo.getPlanBeginTime() != null, DmsBillsMaintInstance::getPlanBeginTime, bo.getPlanBeginTime())
- .eq(bo.getRealBeginTime() != null, DmsBillsMaintInstance::getRealBeginTime, bo.getRealBeginTime())
- .eq(bo.getPlanEndTime() != null, DmsBillsMaintInstance::getPlanEndTime, bo.getPlanEndTime())
- .eq(bo.getRealEndTime() != null, DmsBillsMaintInstance::getRealEndTime, bo.getRealEndTime())
- .eq(bo.getMaintStatus() != null, DmsBillsMaintInstance::getMaintStatus, bo.getMaintStatus())
- .eq(bo.getMaintCompRate() != null, DmsBillsMaintInstance::getMaintCompRate, bo.getMaintCompRate())
- .orderByDesc(DmsBillsMaintInstance::getCreateTime);
+ .selectAs(DmsPlanMaint::getRemark, DmsBillsMaintInstance::getPlanRemark)
+ .leftJoin(DmsPlanMaint.class, DmsPlanMaint::getPlanMaintId, DmsBillsMaintInstance::getPlanMaintId)
+ .eq(bo.getMaintInstanceId() != null, DmsBillsMaintInstance::getMaintInstanceId, bo.getMaintInstanceId())
+ .eq(bo.getPlanMaintId() != null, DmsBillsMaintInstance::getPlanMaintId, bo.getPlanMaintId())
+ .eq(bo.getWfDefinitionId() != null, DmsBillsMaintInstance::getWfDefinitionId, bo.getWfDefinitionId())
+ .eq(StringUtils.isNotBlank(bo.getBillsMaintCode()), DmsBillsMaintInstance::getBillsMaintCode, bo.getBillsMaintCode())
+ .eq(StringUtils.isNotBlank(bo.getMaintGroup()), DmsBillsMaintInstance::getMaintGroup, bo.getMaintGroup())
+ .eq(StringUtils.isNotBlank(bo.getMaintSupervisor()), DmsBillsMaintInstance::getMaintSupervisor, bo.getMaintSupervisor())
+ .eq(bo.getMaintLevel() != null, DmsBillsMaintInstance::getMaintLevel, bo.getMaintLevel())
+ .eq(bo.getPlanBeginTime() != null, DmsBillsMaintInstance::getPlanBeginTime, bo.getPlanBeginTime())
+ .eq(bo.getRealBeginTime() != null, DmsBillsMaintInstance::getRealBeginTime, bo.getRealBeginTime())
+ .eq(bo.getPlanEndTime() != null, DmsBillsMaintInstance::getPlanEndTime, bo.getPlanEndTime())
+ .eq(bo.getRealEndTime() != null, DmsBillsMaintInstance::getRealEndTime, bo.getRealEndTime())
+ .eq(bo.getMaintStatus() != null, DmsBillsMaintInstance::getMaintStatus, bo.getMaintStatus())
+ .eq(bo.getMaintCompRate() != null, DmsBillsMaintInstance::getMaintCompRate, bo.getMaintCompRate())
+ .orderByDesc(DmsBillsMaintInstance::getCreateTime);
return lqw;
}
@@ -126,14 +124,14 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
* @return 是否新增成功
*/
@Override
- public Boolean insertByBo(DmsBillsMaintInstanceBo bo) {
+ public DmsBillsMaintInstanceVo insertByBo(DmsBillsMaintInstanceBo bo) {
DmsBillsMaintInstance add = MapstructUtils.convert(bo, DmsBillsMaintInstance.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setMaintInstanceId(add.getMaintInstanceId());
}
- return flag;
+ return MapstructUtils.convert(add, DmsBillsMaintInstanceVo.class);
}
/**
@@ -143,16 +141,16 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
* @return 是否修改成功
*/
@Override
- public Boolean updateByBo(DmsBillsMaintInstanceBo bo) {
+ public DmsBillsMaintInstanceVo updateByBo(DmsBillsMaintInstanceBo bo) {
DmsBillsMaintInstance update = MapstructUtils.convert(bo, DmsBillsMaintInstance.class);
validEntityBeforeSave(update);
- return baseMapper.updateById(update) > 0;
+ return MapstructUtils.convert(update, DmsBillsMaintInstanceVo.class);
}
/**
* 保存前的数据校验
*/
- private void validEntityBeforeSave(DmsBillsMaintInstance entity){
+ private void validEntityBeforeSave(DmsBillsMaintInstance entity) {
//TODO 做一些数据校验,如唯一约束
}
@@ -165,7 +163,7 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
*/
@Override
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
- if(isValid){
+ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
@@ -178,7 +176,7 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
* @return 结果
*/
@Override
- @Transactional( rollbackFor= Exception.class)
+ @Transactional(rollbackFor = Exception.class)
public int insertDmsBillsMaintInstance(String planMaintCode) {
String planMaintCodeS = planMaintCode.replaceAll("\"", "");
DmsPlanMaint dmsPlanMaint = dmsPlanMaintMapper.selectDmsPlanMaintJoinByPlanMaintCode(planMaintCodeS);
@@ -205,7 +203,7 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
dmsBillsMaintInstance.setPlanEndTime(new Date(lubeTime.getTime() + timeLimit * 1000l));
int insert = baseMapper.insert(dmsBillsMaintInstance);
-/* DmsBillMaintInstanceActivity表弃用 */
+ /* DmsBillMaintInstanceActivity表弃用 */
/* DmsBillMaintInstanceActivity dmsMaintInstanceActivity = new DmsMaintInstanceActivity();
dmsMaintInstanceActivity.setMaintInstanceId(dmsBillsMaintInstance.getMaintInstanceId());
dmsMaintInstanceActivity.setProcessStepOrder(1L);
@@ -231,10 +229,10 @@ public class DmsBillsMaintInstanceServiceImpl implements IDmsBillsMaintInstanceS
dmsBillsMaintDetailMapper.insertBatch(billsMaintDetails);
ArrayList detailprojectList = new ArrayList<>();
- List list = dmsBillsMaintDetailMapper.selectDetailList(maintInstanceId);
- for (DmsBillsMaintDetailVo detail : list) {
- List projects = dmsBillsMaintDetailMapper.selectPrjectIds(detail.getMaintStationId());
- for (DmsBaseMaintProjectVo project : projects) {
+ List list = dmsBillsMaintDetailMapper.selectDetailList(maintInstanceId);
+ for (DmsBillsMaintDetail detail : list) {
+ List projects = dmsBillsMaintDetailMapper.selectPrjectIds(detail.getMaintStationId());
+ for (DmsBaseMaintProject project : projects) {
DmsBillsMaintDetailProject detailproject = new DmsBillsMaintDetailProject();
detailproject.setBillsMaintDetailId(detail.getBillsMaintDetailId());
// DmsBaseMaintStation station = dmsBillsMaintDetailMapper.selectMainStation(detail.getStationId());
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectProjectDeviceServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectProjectDeviceServiceImpl.java
index 85dbb2a..e90ba52 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectProjectDeviceServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectProjectDeviceServiceImpl.java
@@ -75,8 +75,7 @@ public class DmsInspectProjectDeviceServiceImpl implements IDmsInspectProjectDev
.selectAll(DmsInspectProjectDevice.class)
.eq(bo.getInspectProjectId() != null, DmsInspectProjectDevice::getInspectProjectId, bo.getInspectProjectId())
.eq(StringUtils.isNotBlank(bo.getTargetType()), DmsInspectProjectDevice::getTargetType, bo.getTargetType())
- .eq(bo.getTargetId() != null, DmsInspectProjectDevice::getTargetId, bo.getTargetId())
- .orderByDesc(DmsInspectProjectDevice::getCreateTime);
+ .eq(bo.getTargetId() != null, DmsInspectProjectDevice::getTargetId, bo.getTargetId());
return lqw;
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectRouteDetailServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectRouteDetailServiceImpl.java
index 4a0ab4d..f286503 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectRouteDetailServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsInspectRouteDetailServiceImpl.java
@@ -11,6 +11,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.dms.domain.DmsBaseInspectRoute;
+import org.dromara.dms.domain.DmsBaseInspectStandard;
import org.dromara.dms.domain.DmsBaseMachineInfo;
import org.springframework.stereotype.Service;
import org.dromara.dms.domain.bo.DmsInspectRouteDetailBo;
@@ -83,10 +84,16 @@ public class DmsInspectRouteDetailServiceImpl implements IDmsInspectRouteDetailS
.select(DmsBaseMachineInfo::getMachineName)
.leftJoin(DmsBaseMachineInfo.class, DmsBaseMachineInfo::getMachineId,DmsInspectRouteDetail::getMachineId)
+ .select(DmsBaseInspectStandard::getStandardName)
+ .leftJoin(DmsBaseInspectStandard.class, DmsBaseInspectStandard::getInspectStandardId,DmsInspectRouteDetail::getInspectStandard)
+
.eq(bo.getRouteDetailId() != null, DmsInspectRouteDetail::getRouteDetailId, bo.getRouteDetailId())
.eq(bo.getInspectRouteId() != null, DmsInspectRouteDetail::getInspectRouteId, bo.getInspectRouteId())
.eq(bo.getLineStep() != null, DmsInspectRouteDetail::getLineStep, bo.getLineStep())
.eq(bo.getMachineId() != null, DmsInspectRouteDetail::getMachineId, bo.getMachineId())
+
+ .eq(bo.getInspectStandard() != null, DmsInspectRouteDetail::getInspectStandard, bo.getInspectStandard())
+
.eq(StringUtils.isNotBlank(bo.getInspectStandard()), DmsInspectRouteDetail::getInspectStandard, bo.getInspectStandard())
.orderByDesc(DmsInspectRouteDetail::getCreateTime);
return lqw;
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..c04d485 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,22 +1,32 @@
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;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.dms.domain.DmsBaseInspectRoute;
import org.dromara.dms.domain.DmsPlanInspect;
import org.dromara.dms.domain.bo.DmsPlanInspectBo;
import org.dromara.dms.domain.vo.DmsPlanInspectVo;
+import org.dromara.dms.domain.vo.DmsPlanMaintVo;
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 +49,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 +162,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 = "*";
@@ -179,23 +192,35 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService {
if (add.getInspectLevel().equals(3l)){
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);*/
+ bo.setCronExpression(cron);//cron表达式
- String time = cron;
- //通过cron表达式获取下一次执行时间
- Date nextExecution = CronUtils.getNextExecution(time);
- add.setPlanTime(nextExecution);
- add.setPlanInspectCode(planInspectCode);
-// add.setJobId(jobIdR.getData().longValue());
+ String planInspectCode = Seq.getId(Seq.planInspectSeqType, Seq.planInspectCode);
+
+ 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)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ System.out.println(LoginHelper.getTenantId());
+ R longR = remoteJobService.addClusterJob(dmsJobEntity);
+ Long newJobId = longR.getData();
+ //通过cron表达式获取下一次执行时间
+ String time = cron;
+ Date nextExecution = CronUtils.getNextExecution(time);
+ add.setPlanTime(nextExecution);
+ add.setPlanInspectCode(planInspectCode);
+ add.setJobId(newJobId);
+ }
Long timeLimitDays = add.getTimeLimitDays()==null ? 0L:add.getTimeLimitDays();
Long timeLimitHours = add.getTimeLimitHours() == null ? 0L:add.getTimeLimitHours();
@@ -221,9 +246,84 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService {
* @return 是否修改成功
*/
@Override
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean updateByBo(DmsPlanInspectBo bo) {
DmsPlanInspect update = MapstructUtils.convert(bo, DmsPlanInspect.class);
+ String day = "*";
+ String month = "*";
+ String week = "*";
+ String year = "*";
+ String cron = "";
+ if (update.getDay()!=null){
+ day = update.getDay().toString();
+ }
+ if (update.getMonth()!=null){
+ month = update.getMonth().toString();
+ }
+ if (update.getWeek()!=null){
+ Long weekDay = update.getWeek() + 1;
+ week = weekDay.toString();
+ }
+ if (update.getYear()!=null){
+ year = update.getYear().toString();
+ }
+ if (update.getInspectLevel().equals(1l)){
+ cron = "0 0 "+update.getHour()+" "+day+" "+month+" ?";
+ }
+ if (update.getInspectLevel().equals(2l)){
+ cron = "0 0 "+update.getHour()+" ?"+" "+month+" "+week;
+ }
+ if (update.getInspectLevel().equals(3l)){
+ cron = "0 0 "+update.getHour()+" "+day+" "+ month+" ? "+year;
+ }
+ bo.setCronExpression(cron);//cron表达式
+ String time = cron;
+ //通过cron表达式获取下一次执行时间
+ Date nextExecution = CronUtils.getNextExecution(time);
+ update.setPlanTime(nextExecution);
+ //获取设备总数
+ Long aLong = dmsBaseInspectRouteMapper.selectAmountByInspectRouteId(update.getInspectRouteId());
+ update.setDeviceAmount(aLong);
validEntityBeforeSave(update);
+
+ Long jobId = bo.getJobId();
+ String planInspectCode = bo.getPlanInspectCode();
+// String cronExpression = bo.getCronExpression();
+ if (bo.getActiveFlag().equals("1")) {//激活标识(1是 0否)
+ if (StringUtils.isNull(jobId)){//之前没激活创建定时任务,创建定时任务
+ 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)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R longR = remoteJobService.addClusterJob(dmsJobEntity);
+ Long newJobId = longR.getData();
+ update.setJobId(newJobId);
+ }else{//之前激活了,修改定时任务
+ DmsJobEntity dmsJobEntity = new DmsJobEntity();
+ dmsJobEntity
+ .setId(jobId)
+ .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R updateClusterJob = remoteJobService.updateClusterJob(dmsJobEntity);
+ }
+ }else{//如果激活状态为0(1是 0否)
+ if (StringUtils.isNotNull(jobId)) {//之前激活过,创建并关联了任务
+ //则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
+ }
+ }
+
return baseMapper.updateById(update) > 0;
}
@@ -242,10 +342,19 @@ public class DmsPlanInspectServiceImpl implements IDmsPlanInspectService {
* @return 是否删除成功
*/
@Override
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
+ for (Long id : ids){
+ DmsPlanInspectVo dmsPlanInspectVo = baseMapper.selectVoById(id);
+ Long jobId = dmsPlanInspectVo.getJobId();
+ if (StringUtils.isNotNull(jobId)){
+ //则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
+ }
+ }
return baseMapper.deleteByIds(ids) > 0;
}
}
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeDetailServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeDetailServiceImpl.java
index e3fe697..3d7a430 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeDetailServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeDetailServiceImpl.java
@@ -81,14 +81,14 @@ public class DmsPlanLubeDetailServiceImpl implements IDmsPlanLubeDetailService {
.leftJoin(DmsBaseLubeStation.class,DmsBaseLubeStation::getLubeStationId,DmsPlanLubeDetail::getLubeStationId)
//关联查询设备
.select(DmsBaseMachineInfo::getMachineName)
- .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsPlanLubeDetail::getMachineId)
+ .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsPlanLubeDetail::getDeviceId)
//关联查询润滑标准
.select(DmsBaseLubeStandard::getLubeStandardCode)
.leftJoin(DmsBaseLubeStandard.class,DmsBaseLubeStandard::getLubeStandardId,DmsPlanLubeDetail::getLubeStandardId)
.eq(bo.getPlanLubeDetailId() != null, DmsPlanLubeDetail::getPlanLubeDetailId, bo.getPlanLubeDetailId())
.eq(bo.getPlanLubeId() != null, DmsPlanLubeDetail::getPlanLubeId, bo.getPlanLubeId())
- .eq(bo.getDeviceId() != null, DmsPlanLubeDetail::getMachineId, bo.getDeviceId())
+ .eq(bo.getDeviceId() != null, DmsPlanLubeDetail::getDeviceId, bo.getDeviceId())
.eq(bo.getLubeStationId() != null, DmsPlanLubeDetail::getLubeStationId, bo.getLubeStationId())
.eq(bo.getLubeStandardId() != null, DmsPlanLubeDetail::getLubeStandardId, bo.getLubeStandardId())
.eq(StringUtils.isNotBlank(bo.getOperationDescription()), DmsPlanLubeDetail::getOperationDescription, bo.getOperationDescription())
@@ -160,14 +160,14 @@ public class DmsPlanLubeDetailServiceImpl implements IDmsPlanLubeDetailService {
MPJLambdaWrapper wrapper = JoinWrappers.lambda(DmsPlanLubeDetail.class)
.selectAs(DmsPlanLubeDetail::getPlanLubeDetailId, DmsPlanLubeDetail::getPlanLubeDetailId)
.selectAs(DmsPlanLubeDetail::getPlanLubeId, DmsPlanLubeDetail::getPlanLubeId)
- .selectAs(DmsPlanLubeDetail::getMachineId, DmsPlanLubeDetail::getMachineId)
+ .selectAs(DmsPlanLubeDetail::getDeviceId, DmsPlanLubeDetail::getDeviceId)
.selectAs(DmsPlanLubeDetail::getLubeStationId, DmsPlanLubeDetail::getLubeStationId)
.selectAs(DmsPlanLubeDetail::getLubeStandardId, DmsPlanLubeDetail::getLubeStandardId)
.selectAs(DmsPlanLubeDetail::getOperationDescription, DmsPlanLubeDetail::getOperationDescription)
.selectAs(DmsBaseMachineInfo::getMachineName, DmsPlanLubeDetail::getMachineName)
.selectAs(DmsBaseLubeStation::getLubeStationName, DmsPlanLubeDetail::getLubeStationName)
.selectAs(DmsBaseLubeStandard::getLubeStandardCode, DmsPlanLubeDetail::getLubeStandardCode)
- .leftJoin(DmsBaseMachineInfo.class, DmsBaseMachineInfo::getMachineId, DmsPlanLubeDetail::getMachineId)
+ .leftJoin(DmsBaseMachineInfo.class, DmsBaseMachineInfo::getMachineId, DmsPlanLubeDetail::getDeviceId)
.leftJoin(DmsBaseLubeStation.class, DmsBaseLubeStation::getDeviceTypeId, DmsBaseMachineInfo::getMachineId)
.leftJoin(DmsBaseLubeStandard.class, DmsBaseLubeStandard::getLubeStandardId, DmsPlanLubeDetail::getLubeStandardId)
.eq(DmsPlanLubeDetail::getPlanLubeId, planLubeId);
diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeServiceImpl.java
index 23095e8..86d3cc8 100644
--- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeServiceImpl.java
+++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsPlanLubeServiceImpl.java
@@ -3,13 +3,17 @@ package org.dromara.dms.service.impl;
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;
import org.dromara.common.mybatis.Utils.UniqueCodeUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.dms.domain.DmsBillsLubeInstance;
import org.dromara.dms.domain.DmsPlanLube;
import org.dromara.dms.domain.bo.DmsPlanLubeBo;
@@ -21,12 +25,20 @@ import org.dromara.dms.utils.CronUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
-
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum;
+import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum;
+import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
+import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum;
+import com.aizuda.snailjob.client.job.core.dto.JobResponseVO;
+import com.aizuda.snailjob.common.core.enums.StatusEnum;
+import org.dromara.job.api.model.DmsJobEntity;
+import org.dromara.job.api.RemoteJobService;
+
/**
* 润滑计划Service业务层处理
*
@@ -41,6 +53,9 @@ public class DmsPlanLubeServiceImpl implements IDmsPlanLubeService {
private final DmsBillsLubeInstanceMapper dmsBillsLubeInstanceMapper;
+ @DubboReference
+ private final RemoteJobService remoteJobService;
+
private static final Long SECONDS_PER_DAY = 24 * 60 * 60L;
private static final Long SECONDS_PER_HOUR = 60 * 60L;
@@ -160,35 +175,40 @@ public class DmsPlanLubeServiceImpl implements IDmsPlanLubeService {
* @return 是否新增成功
*/
@Override
- @Transactional(rollbackFor = Exception.class)
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean insertByBo(DmsPlanLubeBo bo) {
// 生成新的润滑计划编号
String planLubeCode = Seq.getId(Seq.dmsPlanLubeSeqType, Seq.dmsPlanLubeCode);
bo.setPlanLubeCode(planLubeCode);
-/*
- // 创建系统任务对象
- SysJob job = new SysJob();
- job.setJobName("润滑计划编号" + planLubeCode + "工单任务");
- job.setJobGroup("DEFAULT");
- job.setInvokeTarget("ryTask.getDmsBillsLube(\"" + planLubeCode + "\")");
- job.setCronExpression(bo.getCronExpression());
- job.setMisfirePolicy("1");
- job.setConcurrent("1");
- job.setStatus("1");
- // 添加任务到远程服务并获取任务ID
- R jobIdR = remoteJobService.add(SecurityConstants.INNER, job);*/
+ if(bo.getActiveFlag().equals("1")){//激活标识(1是 0否)
+ DmsJobEntity dmsJobEntity = new DmsJobEntity();
+ dmsJobEntity.setRouteKey(AllocationAlgorithmEnum.ROUND)//路由策略:轮询
+ .setJobName("润滑计划编号" + planLubeCode + "工单任务")
+ .setExecutorInfo("stanceLube")//执行器名称
+ .setExecutorTimeout(30)//执行超时时间
+ .setBlockStrategy(JobBlockStrategyEnum.CONCURRENCY)//阻塞策略:并发
+ .setMaxRetryTimes(2)//最大重试次数
+ .setTriggerType(TriggerTypeEnum.CRON)//触发器类型:cron
+ .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式
+ .setRetryInterval(3)//重试间隔时长
+ .setArgsStr("planLubeCode")
+ .setExtAttrs(planLubeCode)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R longR = remoteJobService.addClusterJob(dmsJobEntity);
+ Long jobId = longR.getData();
- // 通过cron表达式获取下一次执行时间
- String cronExpression = bo.getCronExpression();
- if (StringUtils.isNotEmpty(cronExpression)) {
- Date nextExecution = CronUtils.getNextExecution(cronExpression);
- bo.setLubeTime(nextExecution);
+ // 通过cron表达式获取下一次执行时间
+ String cronExpression = bo.getCronExpression();
+ if (StringUtils.isNotEmpty(cronExpression)) {
+ Date nextExecution = CronUtils.getNextExecution(cronExpression);
+ bo.setLubeTime(nextExecution);
+ }
+ // 设置润滑计划的任务ID
+ bo.setJobId(jobId);
}
- // 设置润滑计划的任务ID
-/* bo.setJobId(jobIdR.getData().longValue());*/
-
// 计算润滑计划的时间限制(天和小时)
Long timeLimitDays = bo.getTimeLimitDays() == null ? 0L : bo.getTimeLimitDays();
Long timeLimitHours = bo.getTimeLimitHours() == null ? 0L : bo.getTimeLimitHours();
@@ -212,38 +232,65 @@ public class DmsPlanLubeServiceImpl implements IDmsPlanLubeService {
* @return 是否修改成功
*/
@Override
- @Transactional(rollbackFor = Exception.class)
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean updateByBo(DmsPlanLubeBo bo) {
-/* Long jobId = bo.getJobId();*/
+ Long jobId = bo.getJobId();
String cronExpression = bo.getCronExpression();
- if (StringUtils.isNotEmpty(cronExpression)) {
- // 通过cron表达式获取下一次执行时间
- Date nextExecution = CronUtils.getNextExecution(cronExpression);
- bo.setLubeTime(nextExecution);
+ if (bo.getActiveFlag().equals("1")){//激活标识(1是 0否)
+
+ // 通过cron表达式获取下一次执行时间
+ Date nextExecution = CronUtils.getNextExecution(cronExpression);
+ bo.setLubeTime(nextExecution);
+
+ if (StringUtils.isNull(jobId)) {// 如果没有关联任务,创建新任务
+ String planLubeCode = bo.getPlanLubeCode();
+ DmsJobEntity dmsJobEntity = new DmsJobEntity();
+ dmsJobEntity.setRouteKey(AllocationAlgorithmEnum.ROUND)//路由策略:轮询
+ .setJobName("润滑计划编号" + planLubeCode + "工单任务")
+ .setExecutorInfo("stanceLube")//执行器名称
+ .setExecutorTimeout(30)//执行超时时间
+ .setBlockStrategy(JobBlockStrategyEnum.CONCURRENCY)//阻塞策略:并发
+ .setMaxRetryTimes(2)//最大重试次数
+ .setTriggerType(TriggerTypeEnum.CRON)//触发器类型:cron
+ .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式
+ .setRetryInterval(3)//重试间隔时长
+ .setArgsStr("planLubeCode")
+ .setExtAttrs(planLubeCode)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+
+ R longR = remoteJobService.addClusterJob(dmsJobEntity);
+ Long newJobId = longR.getData();
+ bo.setJobId(newJobId);
+
+ } else {// 如果有关联任务,更新状态
+ // 更新现有任务
+ String planLubeCode = bo.getPlanLubeCode();
+ DmsJobEntity dmsJobEntity = new DmsJobEntity();
+ dmsJobEntity.setId(jobId);//任务ID
+ dmsJobEntity.setRouteKey(AllocationAlgorithmEnum.ROUND)//路由策略:轮询
+ .setJobName("润滑计划编号" + planLubeCode + "工单任务")
+ .setExecutorInfo("stanceLube")//执行器名称
+ .setExecutorTimeout(30)//执行超时时间
+ .setBlockStrategy(JobBlockStrategyEnum.CONCURRENCY)//阻塞策略:并发
+ .setMaxRetryTimes(2)//最大重试次数
+ .setTriggerType(TriggerTypeEnum.CRON)//触发器类型:cron
+ .setTriggerInterval(bo.getCronExpression())//间隔时长: cron表达式
+ .setRetryInterval(3)//重试间隔时长
+ .setArgsStr("planLubeCode")
+ .setExtAttrs(planLubeCode)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R longR = remoteJobService.updateClusterJob(dmsJobEntity);
-/* if (jobId == null) {
- // 如果没有关联任务,创建新任务
- String planLubeCode = bo.getPlanLubeCode();
- SysJob job = new SysJob();
- job.setJobName("润滑计划编号" + planLubeCode + "工单任务");
- job.setJobGroup("DEFAULT");
- job.setInvokeTarget("ryTask.getDmsBillsLube(\"" + planLubeCode + "\")");
- job.setCronExpression(bo.getCronExpression());
- job.setMisfirePolicy("1");
- job.setConcurrent("1");
- job.setStatus("1");
- R jobIdR = remoteJobService.add(SecurityConstants.INNER, job);
- bo.setJobId(jobIdR.getData().longValue());
- } else {
- // 更新现有任务
- SysJob sysJob = remoteJobService.getJobInfo(jobId, SecurityConstants.INNER);
- if (sysJob != null) {
- sysJob.setCronExpression(bo.getCronExpression());
- remoteJobService.update(SecurityConstants.INNER, sysJob);
}
- }*/
- }
+ }else{//如果激活状态为0(1是 0否)
+ if (StringUtils.isNotNull(jobId)) {//如果关联了任务,则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
+ }
+ }
+
// 计算润滑计划的时间限制(天和小时)
Long timeLimitDays = bo.getTimeLimitDays() == null ? 0L : bo.getTimeLimitDays();
@@ -280,18 +327,21 @@ public class DmsPlanLubeServiceImpl implements IDmsPlanLubeService {
* @return 是否删除成功
*/
@Override
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
if(isValid){
- // 删除前检查是否可以删除
-/* for (Long id : ids) {
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ // 删除前检查是否可以删除
+ for (Long id : ids) {
// 查询关联的任务ID
DmsPlanLubeVo dmsPlanLube = baseMapper.selectVoById(id);
- if (dmsPlanLube != null && dmsPlanLube.getJobId() != null) {
- // 删除关联的定时任务
- remoteJobService.remove(dmsPlanLube.getJobId(), SecurityConstants.INNER);
+ Long jobId = dmsPlanLube.getJobId();
+ if (StringUtils.isNotNull(jobId)) {
+ //则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
}
- }*/
- }
+ }
return baseMapper.deleteByIds(ids) > 0;
}
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..eda8e49 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,20 +1,29 @@
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;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.dms.domain.DmsPlanMaint;
import org.dromara.dms.domain.bo.DmsPlanMaintBo;
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 +44,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 +163,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 +206,31 @@ 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)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ 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();
@@ -220,9 +251,93 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService {
* @return 是否修改成功
*/
@Override
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean updateByBo(DmsPlanMaintBo bo) {
DmsPlanMaint update = MapstructUtils.convert(bo, DmsPlanMaint.class);
+ String day = "*";
+ String month = "*";
+ String week = "*";
+ String year = "*";
+ String cron = "";
+ if (update.getDay()!=null){
+ day = update.getDay().toString();
+ }
+ if (update.getMonth()!=null){
+ month = update.getMonth().toString();
+ }
+ if (update.getWeek()!=null){
+ Long weekDay = update.getWeek() + 1;
+ week = weekDay.toString();
+ }
+ if (update.getYear()!=null){
+ year = update.getYear().toString();
+ }
+ if (update.getMaintLevel().equals(1l)){
+ cron = "0 0 "+update.getHour()+" "+day+" "+month+" ?";
+ }
+ if (update.getMaintLevel().equals(2l)){
+ cron = "0 0 "+update.getHour()+" ?"+" "+month+" "+week;
+ }
+ if (update.getMaintLevel().equals(3l)){
+ cron = "0 0 "+update.getHour()+" "+day+" "+ month+" ? "+year;
+ }
+
+ Long timeLimitDays = update.getTimeLimitDays()==null?0L:update.getTimeLimitDays();
+ Long timeLimitHours = update.getTimeLimitHours() == null?0L:update.getTimeLimitHours();
+ update.setTimeLimit((timeLimitDays * SECONDS_PER_DAY)
+ + (timeLimitHours * SECONDS_PER_HOUR));
+ String time = cron;
+ //通过cron表达式获取下一次执行时间
+ Date nextExecution = CronUtils.getNextExecution(time);
+ update.setMaintTime(nextExecution);
validEntityBeforeSave(update);
+
+ Long jobId = bo.getJobId();
+ String planMaintCode = bo.getPlanMaintCode();
+ if (bo.getActiveFlag().equals("1")){
+ if (StringUtils.isNull(jobId)){//之前没激活创建定时任务,创建定时任务
+ 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)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R longR = remoteJobService.addClusterJob(dmsJobEntity);
+ Long newJobId = longR.getData();
+ update.setMaintTime(nextExecution);
+ update.setJobId(newJobId);
+ }else{//之前激活了,修改定时任务
+ DmsJobEntity dmsJobEntity = new DmsJobEntity();
+ dmsJobEntity.setId(jobId);
+ 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)
+ .setUserId(LoginHelper.getUserId().toString())
+ .setTenantId(LoginHelper.getTenantId());
+ R updateClusterJob = remoteJobService.updateClusterJob(dmsJobEntity);
+ }
+ }else{//如果激活状态为0(1是 0否)
+ if (StringUtils.isNotNull(jobId)){//之前激活过,创建并关联了任务
+ //则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
+ }
+ }
return baseMapper.updateById(update) > 0;
}
@@ -241,10 +356,19 @@ public class DmsPlanMaintServiceImpl implements IDmsPlanMaintService {
* @return 是否删除成功
*/
@Override
+ @GlobalTransactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
+ for (Long id : ids){
+ DmsPlanMaintVo dmsPlanMaintVo = baseMapper.selectVoById(id);
+ Long jobId = dmsPlanMaintVo.getJobId();
+ if (StringUtils.isNotNull(jobId)){
+ //则任务状态为关闭
+ R voidR = remoteJobService.updateJobStatus(jobId, 0L);//任务状态(0:关闭;1:开启)
+ }
+ }
return baseMapper.deleteByIds(ids) > 0;
}
}
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/DmsBillsMaintDetailMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBillsMaintDetailMapper.xml
index 5565270..aa4fa43 100644
--- a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBillsMaintDetailMapper.xml
+++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBillsMaintDetailMapper.xml
@@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
@@ -103,7 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select * from dms_base_maint_station where maint_station_id = #{stationId}
-