From bbffae4494a608db27a547e15d766d945b620f6b Mon Sep 17 00:00:00 2001 From: haungxing <1203316822@qq.com> Date: Tue, 30 Jan 2024 16:00:52 +0800 Subject: [PATCH 1/8] =?UTF-8?q?#=20=E6=97=A5=E5=B8=B8=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0=E7=A5=A8=E6=8D=AE=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operational/maintenance/entity/OperMaintenanceTaskEntity.java | 3 +++ hzims-service/operational/src/main/resources/db/1.0.1.sql | 2 ++ 2 files changed, 5 insertions(+) diff --git a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/maintenance/entity/OperMaintenanceTaskEntity.java b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/maintenance/entity/OperMaintenanceTaskEntity.java index 2f9fa11..a06949a 100644 --- a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/maintenance/entity/OperMaintenanceTaskEntity.java +++ b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/maintenance/entity/OperMaintenanceTaskEntity.java @@ -141,6 +141,9 @@ public class OperMaintenanceTaskEntity extends TenantEntity { @JsonSerialize(nullsUsing = NullSerializer.class) private Long ticketId; + @ApiModelProperty(value = "票据名称") + private String ticketName; + @ApiModelProperty(value = "延期状态") @JsonSerialize(nullsUsing = NullSerializer.class) private Integer delayStatus; diff --git a/hzims-service/operational/src/main/resources/db/1.0.1.sql b/hzims-service/operational/src/main/resources/db/1.0.1.sql index 962bc44..a981cd1 100644 --- a/hzims-service/operational/src/main/resources/db/1.0.1.sql +++ b/hzims-service/operational/src/main/resources/db/1.0.1.sql @@ -7,3 +7,5 @@ alter table `hzims_oper_maintenance_task` add column `update_user_name` varchar( alter table `hzims_oper_maintenance_plan` add column `disposer_name` varchar(255) comment '执行人姓名'; alter table `hzims_oper_maintenance_plan` add column `create_user_name` varchar(255) comment '创建人姓名'; alter table `hzims_oper_maintenance_plan` add column `update_user_name` varchar(255) comment '更新人姓名'; +-- 日常维护任务添加工作票名称 +alter table `hzims_oper_maintenance_task` add COLUMN `ticket_name` VARCHAR(255) comment '票据名称'; From afc8d8484883d188793eec91b9542d61dee7a047 Mon Sep 17 00:00:00 2001 From: yang_shj <1069818635@QQ.com> Date: Tue, 30 Jan 2024 16:29:59 +0800 Subject: [PATCH 2/8] =?UTF-8?q?#=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzims/scheduled/scheduled/AlarmScheduledTask.java | 10 ++++++++++ .../hzims/scheduled/service/alarm/AlarmQueryService.java | 2 ++ .../service/alarm/impl/AlarmQueryServiceImpl.java | 15 ++++++++++++--- .../service/operation/report/impl/ReportServiceImpl.java | 4 ++-- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java index 6f4721d..f6b7552 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java @@ -39,4 +39,14 @@ public class AlarmScheduledTask { service.startStopAlarm(param); return new ReturnT<>("SUCCESS"); } + + @XxlJob(START_STOP_ALARM) + //@Scheduled(cron = "0/40 * * * * ? ") + public ReturnT interruptAlarm(String param) { + if (Func.isBlank(param)) { + param = DateUtil.format(new Date(), "yyyy-MM"); + } + service.interruptAlarm(param); + return new ReturnT<>("SUCCESS"); + } } \ No newline at end of file diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/AlarmQueryService.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/AlarmQueryService.java index 5b8f793..ff85d1c 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/AlarmQueryService.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/AlarmQueryService.java @@ -16,4 +16,6 @@ public interface AlarmQueryService extends BaseService { List bells(List codes); List aborts(List codes); + + void interruptAlarm(String param); } \ No newline at end of file diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/impl/AlarmQueryServiceImpl.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/impl/AlarmQueryServiceImpl.java index fd31272..a922504 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/impl/AlarmQueryServiceImpl.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/alarm/impl/AlarmQueryServiceImpl.java @@ -178,14 +178,23 @@ public class AlarmQueryServiceImpl extends BaseServiceImpl(); } - return alarms.stream().collect(Collectors.groupingBy(AlarmEntity::getStationId)).entrySet().stream().map(entry->{ + return alarms.stream().collect(Collectors.groupingBy(AlarmEntity::getStationId)).values().stream().map(alarmEntities -> { // 站点最近的一条数据中断、数据异常告警 - AlarmEntity alarm = entry.getValue().stream().sorted(Comparator.comparing(AlarmEntity::getCreateTime).reversed()).collect(Collectors.toList()).get(0); + AlarmEntity alarm = alarmEntities.stream().sorted(Comparator.comparing(AlarmEntity::getCreateTime).reversed()).collect(Collectors.toList()).get(0); // 状态为中断 - if(alarm.getAlarmStatus().equals(0)){ + if (alarm.getAlarmStatus().equals(0)) { return alarm.getStationId(); } return ""; }).filter(StringUtil::isBlank).distinct().collect(Collectors.toList()); } + + /** + * 数据中断告警 + * @param param + */ + @Override + public void interruptAlarm(String param) { + + } } \ No newline at end of file diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/report/impl/ReportServiceImpl.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/report/impl/ReportServiceImpl.java index 81b5dae..373edb3 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/report/impl/ReportServiceImpl.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/report/impl/ReportServiceImpl.java @@ -862,7 +862,7 @@ public class ReportServiceImpl implements ReportService { List alarms = this.hz3000Alarm(code,start,end); // FIXME 设备实例:一级告警 // FDP智能预警 - // alarms.addAll(this.intelligentEarly(code,start,end)); + alarms.addAll(this.intelligentEarly(code,start,end)); return JSONObject.toJSONString(alarms); } @@ -904,7 +904,7 @@ public class ReportServiceImpl implements ReportService { StbAnalysisDTO param = new StbAnalysisDTO(); param.setStartTime(LocalDateTime.parse(start,DateUtil.DATETIME_FORMATTER)); param.setEndTime(LocalDateTime.parse(end, DateUtil.DATETIME_FORMATTER)); - param.setStation(code); + param.setStations(Collections.singletonList(code)); param.setPage(0); param.setPageSize(100000); Result> result = soeDataClient.pageStbAnalysis(param); From a449c6ca81e93ca2a3891dc3960c400ad7e7f4ec Mon Sep 17 00:00:00 2001 From: yang_shj <1069818635@QQ.com> Date: Wed, 31 Jan 2024 14:01:36 +0800 Subject: [PATCH 3/8] =?UTF-8?q?#=E5=B7=A5=E4=BD=9C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operational/main/constant/MainConstants.java | 3 +++ .../hzims/ticket/repair/vo/WorkTaskPreviewVO.java | 6 ++--- .../ticket/standardTicket/vo/CensParamVo.java | 2 +- .../scheduled/scheduled/AlarmScheduledTask.java | 3 ++- .../scheduled/scheduled/MonitorScheduledTask.java | 20 ++++++++------ .../scheduled/RealTargetScheduledTask.java | 7 ++--- .../access/controller/ConstructionController.java | 7 ----- .../service/impl/ConstructionServiceImpl.java | 1 + .../repair/controller/WorkTaskController.java | 4 +-- .../ticket/repair/service/IWorkTaskService.java | 2 +- .../repair/service/impl/WorkTaskServiceImpl.java | 29 ++++++++++----------- .../twoTicket/service/impl/CensServiceImpl.java | 24 ++++++++--------- .../java/com/hnac/hzims/ticket/utils/PdfUtils.java | 2 +- .../template/work/work_task_template.docx | Bin 19612 -> 18748 bytes 14 files changed, 55 insertions(+), 55 deletions(-) diff --git a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java index ac7dd89..6fbd377 100644 --- a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java +++ b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java @@ -73,6 +73,9 @@ public interface MainConstants { // 开停机告警 String START_STOP_ALARM = "startStopAlarm"; + // 数据通讯中断 + String INTERRUPT_ALARM = "interruptAlarm"; + // realId获取 String REAL_ID_DATA = "realIdData"; diff --git a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/repair/vo/WorkTaskPreviewVO.java b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/repair/vo/WorkTaskPreviewVO.java index 88110e8..f2c503f 100644 --- a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/repair/vo/WorkTaskPreviewVO.java +++ b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/repair/vo/WorkTaskPreviewVO.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; +import java.util.List; /** * @author ysj @@ -38,10 +39,7 @@ public class WorkTaskPreviewVO extends WorkTaskEntity { private Integer groupCount; @ApiModelProperty(value = "工作地点") - private String location; - - @ApiModelProperty(value = "工作内容") - private String content; + private List contents; @ApiModelProperty(value = "计划工作时间") private String planTimeInterval; diff --git a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/standardTicket/vo/CensParamVo.java b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/standardTicket/vo/CensParamVo.java index ebc35d5..2056c78 100644 --- a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/standardTicket/vo/CensParamVo.java +++ b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/standardTicket/vo/CensParamVo.java @@ -18,7 +18,7 @@ public class CensParamVo { @ApiModelProperty("结束时间: yyyy-MM-dd HH:mm:ss") private String endTime; - @ApiModelProperty("状态 : 0-全部 1-完成") + @ApiModelProperty("状态 : 0-未完成 1-完成") private Integer state; @ApiModelProperty("结束") diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java index f6b7552..dc3f1ea 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/AlarmScheduledTask.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Component; import java.util.Date; +import static com.hnac.hzims.operational.main.constant.MainConstants.INTERRUPT_ALARM; import static com.hnac.hzims.operational.main.constant.MainConstants.START_STOP_ALARM; @@ -40,7 +41,7 @@ public class AlarmScheduledTask { return new ReturnT<>("SUCCESS"); } - @XxlJob(START_STOP_ALARM) + @XxlJob(INTERRUPT_ALARM) //@Scheduled(cron = "0/40 * * * * ? ") public ReturnT interruptAlarm(String param) { if (Func.isBlank(param)) { diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/MonitorScheduledTask.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/MonitorScheduledTask.java index ba64a08..c092e7b 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/MonitorScheduledTask.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/MonitorScheduledTask.java @@ -29,8 +29,10 @@ public class MonitorScheduledTask { /** * realId刷新 */ - @XxlJob(REAL_ID_DATA) - public ReturnT loadRealId(String param) { + //@XxlJob(REAL_ID_DATA) + @Scheduled(cron = "0/40 * * * * ? ") + public ReturnT loadRealId() { + String param = ""; if (Func.isBlank(param)) { param = DateUtil.format(new Date(), "yyyy-MM"); } @@ -42,9 +44,10 @@ public class MonitorScheduledTask { * 实时数据刷新 * @return ReturnT */ - @XxlJob(REAL_TIME_DATA) - //@Scheduled(cron = "0/40 * * * * ? ") - public ReturnT loadRealData( String param) { + //@XxlJob(REAL_TIME_DATA) + @Scheduled(cron = "0/40 * * * * ? ") + public ReturnT loadRealData() { + String param = ""; if (Func.isBlank(param)) { param = DateUtil.format(new Date(), "yyyy-MM"); } @@ -56,9 +59,10 @@ public class MonitorScheduledTask { * 集中监控数据处理 * @return ReturnT */ - @XxlJob(CENTRALIZED_MONITORING) - //@Scheduled(cron = "0/40 * * * * ? ") - public ReturnT loadMonitoring(String param) { + //@XxlJob(CENTRALIZED_MONITORING) + @Scheduled(cron = "0/40 * * * * ? ") + public ReturnT loadMonitoring() { + String param = ""; if (Func.isBlank(param)) { param = DateUtil.format(new Date(), "yyyy-MM"); } diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/RealTargetScheduledTask.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/RealTargetScheduledTask.java index 342847e..ed2e703 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/RealTargetScheduledTask.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/RealTargetScheduledTask.java @@ -33,9 +33,10 @@ public class RealTargetScheduledTask { * @return * @throws Exception */ - @XxlJob(LOAD_EM_INFO) - //@Scheduled(cron = "0/40 * * * * ? ") - public ReturnT loadEmInfo(String param) { + //@XxlJob(LOAD_EM_INFO) + @Scheduled(cron = "0/40 * * * * ? ") + public ReturnT loadEmInfo() { + String param = ""; if (Func.isBlank(param)) { param = DateUtil.format(new Date(), "yyyy-MM"); } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java index 1653362..4829bc6 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java @@ -5,21 +5,14 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.hnac.hzims.common.logs.annotation.OperationAnnotation; import com.hnac.hzims.common.logs.enums.BusinessType; import com.hnac.hzims.common.logs.enums.OperatorType; -import com.hnac.hzims.operational.access.dto.AccessPlanV4DTO; -import com.hnac.hzims.operational.access.dto.OperAccessPlanDTO; -import com.hnac.hzims.operational.access.dto.OperAccessPlanFlowDTO; -import com.hnac.hzims.operational.access.dto.OperAccessPlanListDTO; import com.hnac.hzims.operational.access.entity.OperConstructionEntity; -import com.hnac.hzims.operational.access.service.AccessPlanV4Service; import com.hnac.hzims.operational.access.service.ConstructionService; import com.hnac.hzims.operational.access.vo.ConstructionVo; -import com.hnac.hzims.operational.access.vo.OperAccessPlanVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.log.annotation.ApiLog; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java index 33ed9c8..d9a0fed 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java @@ -55,6 +55,7 @@ public class ConstructionServiceImpl extends BaseServiceImpl pageCondition(IPage page, ConstructionVo construction) { QueryWrapper wrapper = Condition.getQueryWrapper(construction); + wrapper.orderByDesc("CREATE_TIME"); if(StringUtil.isNotBlank(construction.getStartTime())){ wrapper.ge("CREATE_TIME",construction.getStartTime()); } diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/controller/WorkTaskController.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/controller/WorkTaskController.java index 90f1657..898d46f 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/controller/WorkTaskController.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/controller/WorkTaskController.java @@ -36,8 +36,8 @@ public class WorkTaskController extends BladeController { @GetMapping("/list") @ApiOperationSupport(order = 1) @ApiOperation(value = "分页") - public R> list(WorkTaskVO workTask, Query query) { - return R.data(workTaskService.workTaskService(Condition.getPage(query), workTask)); + public R> pageCondition(WorkTaskVO workTask, Query query) { + return R.data(workTaskService.pageCondition(Condition.getPage(query), workTask)); } @GetMapping("/detail") diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/IWorkTaskService.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/IWorkTaskService.java index 119bdf0..6db49f1 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/IWorkTaskService.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/IWorkTaskService.java @@ -19,7 +19,7 @@ public interface IWorkTaskService extends BaseService { boolean listener(ProcessWorkFlowResponse processWorkFlowResponse); - IPage workTaskService(IPage page, WorkTaskVO workTask); + IPage pageCondition(IPage page, WorkTaskVO workTask); void preview(Long id); diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/impl/WorkTaskServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/impl/WorkTaskServiceImpl.java index 9fb5eb9..d6ef6df 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/impl/WorkTaskServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/repair/service/impl/WorkTaskServiceImpl.java @@ -48,6 +48,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; /** * @author ysj @@ -165,22 +166,26 @@ public class WorkTaskServiceImpl extends BaseServiceImpl workTaskService(IPage page, WorkTaskVO workTask) { - QueryWrapper wrapper = Condition.getQueryWrapper(workTask); + public IPage pageCondition(IPage page, WorkTaskVO workTask) { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.lambda().orderByDesc(WorkTaskEntity::getCreateTime); if(StringUtil.isNotBlank(workTask.getStartTime())){ - wrapper.ge("CREATE_TIME",workTask.getStartTime()); + wrapper.lambda().ge(WorkTaskEntity::getCreateTime,workTask.getStartTime()); } if(StringUtil.isNotBlank(workTask.getEndTime())){ - wrapper.le("CREATE_TIME",workTask.getEndTime()); + wrapper.lambda().le(WorkTaskEntity::getCreateTime,workTask.getEndTime()); } if(ObjectUtil.isNotEmpty(workTask.getGroupId())){ - wrapper.eq("GROUP_ID",workTask.getGroupId()); + wrapper.lambda().eq(WorkTaskEntity::getGroupId,workTask.getGroupId()); } - if(ObjectUtil.isNotEmpty(workTask.getGroupId())){ - wrapper.eq("CREATE_DEPT",workTask.getDeptId()); + if(ObjectUtil.isNotEmpty(workTask.getGroupName())){ + wrapper.lambda().like(WorkTaskEntity::getGroupName,workTask.getGroupName()); + } + if(ObjectUtil.isNotEmpty(workTask.getDeptId())){ + wrapper.lambda().eq(WorkTaskEntity::getCreateDept,workTask.getDeptId()); } if(ObjectUtil.isNotEmpty(workTask.getTaskName())){ - wrapper.eq("TASK_NAME",workTask.getTaskName()); + wrapper.lambda().eq(WorkTaskEntity::getTaskName,workTask.getTaskName()); } return super.page(page, wrapper); } @@ -246,13 +251,7 @@ public class WorkTaskServiceImpl extends BaseServiceImpl contents = JSONObject.parseObject(preview.getWorkTask(), new TypeReference>() {}); if(CollectionUtil.isNotEmpty(contents)){ - StringBuilder location = new StringBuilder(),content = new StringBuilder(); - for(WorkTaskContentVO item : contents){ - location.append(item.getLocation()).append("\n"); - content.append(item.getContent()).append("\n"); - } - preview.setLocation(location.substring(0,location.toString().length() - 1)); - preview.setContent(content.substring(0,location.toString().length() - 1)); + preview.setContents(contents); } } // 计划工作时间 diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/CensServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/CensServiceImpl.java index b83958b..6dfc999 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/CensServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/CensServiceImpl.java @@ -65,9 +65,6 @@ public class CensServiceImpl implements CensService { if(StringUtil.isEmpty(param.getEndTime())){ param.setStartTime(DateUtil.format(new Date(),DateUtil.PATTERN_DATETIME)); } - if(!StringUtil.isEmpty(param.getState()) && param.getState().equals(1)){ - param.setFlowTaskName("结束"); - } // 获取权限区域机构 List depts; @@ -87,8 +84,12 @@ public class CensServiceImpl implements CensService { // 操作票查询 QueryWrapper wrapper = new QueryWrapper(); - if(!StringUtil.isEmpty(param.getFlowTaskName())){ - wrapper.eq("FLOW_TASK_NAME",param.getFlowTaskName()); + if(!StringUtil.isEmpty(param.getState())){ + if(param.getState().equals(1)){ + wrapper.eq("FLOW_TASK_NAME","结束"); + }else{ + wrapper.ne("FLOW_TASK_NAME","结束"); + } } if(!StringUtil.isEmpty(param.getStartTime())){ wrapper.ge("CREATE_TIME",param.getStartTime()); @@ -104,7 +105,6 @@ public class CensServiceImpl implements CensService { List operates = operateTicketService.list(wrapper); // 工作票查询 List works = workTicketInfoService.list(wrapper); - // 工作任务单 return depts.stream().map(dept->{ CensVo cens = new CensVo(); cens.setDeptId(dept.getId()); @@ -119,7 +119,6 @@ public class CensServiceImpl implements CensService { }else{ cens.setWorkCount(works.stream().filter(work->work.getCreateDept().equals(dept.getId())).count()); } - cens.setWorkTaskCount((long)new Random().nextInt(10)); return cens; }).collect(Collectors.toList()); } @@ -153,9 +152,6 @@ public class CensServiceImpl implements CensService { param.setEndTime(param.getYear() + "-12-31 23:59:59"); } - if(!StringUtil.isEmpty(param.getState()) && param.getState().equals(1)){ - param.setFlowTaskName("结束"); - } List depts; if(ObjectUtil.isEmpty(param.getDeptId())){ // 获取权限区域机构 @@ -173,8 +169,12 @@ public class CensServiceImpl implements CensService { // 操作票查询 QueryWrapper wrapper = new QueryWrapper(); - if(!StringUtil.isEmpty(param.getFlowTaskName())){ - wrapper.eq("FLOW_TASK_NAME",param.getFlowTaskName()); + if(!StringUtil.isEmpty(param.getState())){ + if(param.getState().equals(1)){ + wrapper.eq("FLOW_TASK_NAME","结束"); + }else{ + wrapper.ne("FLOW_TASK_NAME","结束"); + } } if(!StringUtil.isEmpty(param.getStartTime())){ wrapper.ge("CREATE_TIME",param.getStartTime()); diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java index 61267e1..490b280 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java @@ -122,7 +122,7 @@ public class PdfUtils { } //若为list则不处理 if (value instanceof List) { - return; + value = ((List) value).stream().map(PdfUtils::objectToMap).collect(Collectors.toList()); } //若为时间格式则进行格式化 if (value instanceof LocalDateTime) { diff --git a/hzims-service/ticket/src/main/resources/template/work/work_task_template.docx b/hzims-service/ticket/src/main/resources/template/work/work_task_template.docx index 94a37140d07743cda1688d8b8bacc36bc691a2ca..c79f0f5450c139c4752e675b9d3134b0842c426b 100644 GIT binary patch delta 12363 zcma)iWmFzPvNkX7?(XjH?(PuW-6d!k+zIj$JUGGK3GNcyAvnR^0|CD5-Fxre-Cy6F z(|!6>S54PEGt*sN{p4hVI#WPNJTT9$nC(W%f+T>3YbZN*#8ɆV-b%#eT6`lY3VihQ~4$r%6;HLV;dt}PBNt6q9)R6K;nF4NfU_# zU%Hb$3T+%bA*@GI2R8w&9lrdgx=N<^`$9IA%x0S#-&X--R)u*3t;IhXR5FP6_J&ue z&+|SKALCn+gnm{PR)az>Wb@vvA1abgN#6jU_hsUGk~Zg$u??UjRe_r^#qu;R2ji_( z^Y6E!L4pFZ?nmQjMIUmu_h|jU4yv*Fp-<=Dnh7e5o8i#72ZMz(cLj#syD9B*q>ajj z%;+Z1n}JRJ4z(_w>`zeYN>I?)5D*aX5K*eT;x3A=!RjCg2tP;&2#mi{D_2W(5AYHQ z4Nx3p$Bujq^`T$&Nok=ZTthAUF%Ig(7&4aM`~jWKP3zlaaCCbpsH4ps(EznmG)>c(*A)5Lz0%cFl35K6$ADih)nSI&~ zDSlF1T14{-WS{H22!b9_4}m-dH_1Eov^*yrTd4Tqh-+sOwCD88mL`FSdC~{6V-j&nm z?u4r}I-v5MUJO@8AIQEad>*mZd;P=w3-8}y&%tvHWcmv`#$VX6{s(qfH%~T8Z%;2* zXI5Wluo)BzFeWmYSZye@_PJ(ET$tbOg0V!URT7*^{T1~Z;ImY{-j+#ByxhALz3lS( z&G@oSAAjC74uQY{A70@-U;YU;x5W`ZthYmvN2m77Xs?2P-49pSxrEs;_8KhSD|l-z zH#Zl3a;wv@q%SC+ssiU6sF)6w8s$2izZXU=Kb0l& z8ISdPfWWI2o2m_mvu7K+csa6-LNb#oE`cG8i15g_NQ%r^_|hXG<=MrZJYI0+q;dNT zN6_#gg;uwX)@MIXmR;%t>kqgZ+I59yScS{15N zgD}mcu&qQIV`<1BGh;c>m-vSE9`Zi?hPGvtua0Adhv(8$RfEI$ceyXE^z> zztL#aYM1Qn;)PTVk|1{957-qGF}eJ+AK=%Qk|e{qgY}+p_%@yQ{uHG)(b(x5=X(JX zPstnV8#Kk1@o#BOheIN54AlE3971-;8TSDcwR&svqrug>18bDuIwB)R9@{k_>g9#5 zJ0cmY=SK<`Qax52Ik-Is?<9>&ATKU>U2KtLmACU?N{JwqLk)4V4M@L+A14O~Qp|Nq z#?{+hMaLoT58b1)xoaD@{)}{DXk?$X>b)fn#FYDX#et=O;_222(k61jLvFPt1=J+^ z&f#93fdmiYv+s&dlQkDL^tX0l^+W5!ajh0<^*`DOAoDdYxO?btC5O|i%y>3E+J72< z`|XmnV!_w>(X9zi45)Uw>Eh>qdCnP)pQMDJ`qfwePC&_(+DDVu$jRv8ogrfNFhhDQ zw#>=k;p#VhBOV>|PHzE!5YT-Wl*|FO$2yH`n$r1-H+8eC#G1eG{_-gH{*nijSB3>* zSzX?iicFfmI;T=qD_PeVFmXfEg`X_!TFGLs0bwg%syW^+5g^zo6ZB9ZHsjmvA0nsmVm z>-a%7y_fOxsJ6?NA!)|qG>9hi9o@%-4+R6Yie$g9j#8PCrczV<;MUQr(|=+&h4K@l zx^oln`tlD(0Xyh)0~D%JQh)vmESU!LdvO&;O@$y`ptm2`i9u~5{BjU3XsZ~(>rj4w zMOUPMMMr-{Y7rR02$;o5AQ^vp{m^~&I_UBOGXzYjKFs2XP#Sqe7^Ngk#58gWY-S0; zjM$_{91|i1j<-`gR_o-^&;S^KCfF7s_|yg)zzC@bx{e=a#cn&ecV$Yb9x|zvZe13H z`gZ!W8Y0Z9OPz&AZK|u?mzB%zN9$rQ9LLpugxn0_ojyJ!h(>A{>4*jY9pj{U>?y}~ zhOB?&(9Q~#LWvslg2r07DEdBCWIp7UdZ9zcE+;lrmhe>B(z;&V*;yjlnInv};ku|1 zNc!O!vqB!xh9l5dDPQ1!XpQa8cok46JV!%U_T9lKbi8s{gjDQ^n^odoXD@3s-;R=d zr@YEpNzK{|NzFO{%x~4wdZqo}<-EnTk{R{b{S&r~w0dHDbn!DgM>nDJkY|5>(6Wh5 zyt#5z&3Wh}ss3;-R~oDEJ&hUg=O%CBYBGS@-g|MzYErh^9?uLfIrSVB-w5i8(U;S> z452KwfHr?FGArMh1ornf>Y7ajBrw0xKTQ2$?9XBJu{9sf z>=gFfnG(V_(_4z()OxO0^F~@HC-*k0A7P$7Qd%<*zgCFproT$6cQT?hAtP+|6A}_a zQHInAD9prFA-s)m*`xq{qvf+Nt2}?8yb@2`#bHVdGaC3y?D$V^#6q9g3S3hQ0}QbK zjB^%<`XSc=p1moL{ODCh{y(1xlhPZv{KRL-7iHigv@eREAm35*^1nU&tx_zn*eGGC zSQH}ZJL$+9)$gJAX({dQ4Y0=KZEiUWLwst(jD;`UT3;x3fq z@{4NXGh&vSJ8YTo$HG;!V?Qfr#{&Nr;>ub3E=Bgj3Jfl2s7k^k=)FqhjtgHGvKo=H z`z3L@I3MGW4Zh1qR@XJNW4p#h;Gyrbe}xIExR-M2q&C_zM9>=Ref6S3Vk8K;0ASG(05$8T%sWUV{{c|%{=Jm%E=u!Nf7 zqFx0hRrJ?GU91l z*;uAsC~j#20@}A{IorOCdBg&}m%jAlZJa2)t*W1a)>3hsm9Z!?t)pd*hEQL~+jt>k zv+CmO`d?zN9NjMZW)o=OdO$lUA(5pg7jX@va7mPqjKQO{hM*vwo$u#B>2f)f&*??3 z#Esj@_;!{>FI8Jg+b|h9ChKhvSnUZDr`HR+NxLo3JlZP@#mc>Xpzg?wWOUbKyrTiN z*^mr~AsKIOUP7f=Gw_PSbgu4}ifKvPDUdciy%sM#5BH;wQNnTXYeW=DohU)!S%#Du^orq2L!#Q$ui4y9p!utzU-*9;)F*VC z`k3jA3xch*oBFKjybDGuRM*3p?fV6^4zYYGb}ygfPP(F;%$--mI8ujx<*Qr|i^fd| zf!R>_0IHbhIKCSuXSM6$hBo3RhE09kbf1nvqKOC$S7trezqh%^b!FE0KMh&Tdn{LG z1li7dBUa}!p60(Ml3qDeWxLUux}(G2=apvlD~rk6 zO`twu+Z^SH6d59#*!7tC=4<)EX!97;l^O3JBXZORsO#Xg$1?FdTRXZVUPBv zf~AGOCNV}g>R3EOhFE=^50f~@iw)=g?{N5u+P%b6F?qTZ$7KM8Vx4H0!KW=&{#v#_ z73sx#kLABp-6oO3RG_made=4L{R__=2!5Z8f8shp)t%JCSHc)CAwNvT#|2HqULhpzqZ&Ga-k0jE5-)QU;+X@(+R0*4QYO{*ab|_ zjDA*Xaph+{F|TI^)vHyL;pLhLnax}GK?dTMwYR$YL{0pNL{v#{Us4M#LH)%>oNuBJO*f;Zb?(hK$I9Aue~EL+RNmNA)m*QqT=C z6H@GKy+CX@yBEzgv+wg$CwmX+nPZ>v3rRl)@Aso_v3V$co3nq+T!YhL7vwN#Pde#T@RH~IH) z@{!zubFws;l{gCSucfm| zJ-f^Hsxk(gKY-@@m9&h05@_X_uvSPK7k73KDlGQ95b4X&Yyp<`P5Pb`8j_$~ot0ZtDBed& z_S#rPW-WR?i0||F>yaTJLK}TcxotfAni~e8L&NFVaatuuN>U5=S8-&;p@UwlZGH>{&(AgcnObv0v8j zm+HB}&J!!7O0u31scz$H&J0)k-C&~oS(Gj{cJ*S*N!aMN6R-dm6Rd$N#COBw~^*qoeraL zo^jDv`g^_`q+AfH>`4o>v?6?cWH64$Imbs7T+C4nC^sR84Q^NI$WLZpQix4d=Y4?Z zlmsAjh)Wo3ON{z#noL2(~mqsN4;dG^gbT1FgE#$z3Zl8g06NmG zxyfCHq>&dH@9(D2d=r7Ub;RCe4@D;fucg4np2t$a%Hf&2;EAx;fm*8?Qo}PhaTa^u zZHyTHS*EuWYF>d35B$-?3m9*2RVkfdz?r}A%!4$(f5KCBB@@}iXzFCstK!zvaYLe( zNO|C`z4>DMS25SA^0dIK26}ipxTF5-GlBAOqgkN6D@q6(;)^KS~n=+wI4}zMCu6WJ34>X z{)~t$&)!H3!9b~07WMr`H+)W89aMQD=J|5V;(X-TXrfdf@=#;$xhgBW!1bNqO}9>_ z7qJ!2=BgH^m)B#?#FC{>%<$kchtvh61VScrCF(mPeCDSbPL7rzR=-AB&T}TV-Q^S-R!6956rp3CA$kwAn!a8#Y?Ta&Q=G3%nj!}oDd38pa z4TfB~b)jLgLHkkodsEv{g?Dv98xo4KH}i6ZA5z7lev<=_@glBanwIg8;$PhD4J1m7 zMtI$=6&Z%HOdM_rMKjERA=i!}&xAdF?sqeR>^PL6_NAt22rt9yyI7Z_P2OHrJbwI2 zW*(BpK|-%#S9D#5S=f3qlL3LbxQxrWEZbH1BsNyTERb`Za%;`H1YcwXtZ~&Xt+V&( zpzgr-WwVoj&wfBq`b%b5216DU469^sW*@)@CXUePRaO1k~L*z|g^@@zM=^utk<`R6KB z6SFb@9FGqm_t1`aW+9{eS z%}p)#2A?%K@?BW~fpmwl-`Fnb_AqXGLlrK2wR#*Y(~$$LHNNYSX%1gnu#1?jOJsEa zpkgOK_?k>yDLNbGwG5f{R<Qtyo z__Aonhd^_?rMM@ycITL7`TVPCw5t!vDl-2k5lGwwb~olRtHAZSnJKoCfIS>Lx*#K) zINl}~@H<8P$al1y@SM5m&0KM$gAXy(XHW+}D&NnR4TMI16X_7Vgd^epMA$%K%>YhE`u$58q+c8hYnYD+bdvkc)-5<1d@;eK?6IMIgKX1Ox zr)8#{`o_SY25iD;`0NhK~Y1TcwQx936^284H6B?kkW}Gsb1UqkSst+7C#|Z?$ zEH*cF4e~0w(HELY}g|@M={KJoX5gI zd=4VXIP)QwlHU?jweGz3CCW1+GIA#rRIH`)o9;Mf=cK8NM8J~yhZztk1Q<{_X76Or z`ZfoFz4Z3yci+q9tEx@!;(hh)3XHMHVec&p93x|IVGGUgpFL(I`K2oWYs zdp_ixIN88ItigNHQIHUs)9A~#m?JJ=lz=?>b8QB}USftFcSAO=Clm*rV&_v?(9q1e zX9wseMzjAkRckJ|s`p69agi9cP18d}?sh@YWNCYGg1r&Gat{`R0 z!XvSiz#LQ(9$q&g7|M3F#+%f5O9+qa3vv#l?OkD{u|6%FARI95vzYG}O&$h_Y|0?a zED-G3ohjSHalxeZGT~fXerU_0S$(GvFXXXN&V6t24Ik2m<#h0l09@|KdYmgNd~TpGUm^U3$~cf=KBdx$`nlVBWleo%W1 zulmsUXhjWe;-p`4pAU0}8k2Ny%i%pF%h>=I8nmMG|Lj)kW?9$lf4$m_&n6 zFMxnLA4mR3Gj@^b@D{PFZv{hm`qG%e_@Tq_x5(zN2f8rAe2B#=UiTM680Z|ibj*HSbVE0-fd<)^ro-~HzYOiC%sOjKU%rHTtG@b+V5xq z(Jx-8H9?2eaEudYGp?)a0WJ|{jZG=6y{%ah@*FMXA(4j&qe(1&l|DU2r4%axDPbNW zp0Xb6#ItG!r31#aUC0=d<|l!wl3bNE*m^>qChhFm{LGbVz;}oe!fu}3dYG{o-RJV z^|4ebA59r085lc=rC#qt@NBSbuts5o{0*f{%n_)xveMa9c*kjGgO&dWfe?xxUXvWd zl{RHJi$Gn-G^3?iX=Xv;Kp=TLl`=r0JF;-k=7Ul7Vp?C~?r(8KHs z+pW=Yq%}{pl2ZMrpi$7zca8Ntk)pmQuKS37V?23{66*|nf-WSFW^;_*q#m@icag>> z5~i&MPEedtv^qjJ3$mR;4Ip1Lxj3Zz9X^jep4>4&D)8wt@6_gUjt`*R^e_7cp z9x+QDz;iW&5uSz4>{E{z?ub`b-Fa|6M_#u8Y!V$>{KrE$yU>h5a6HgRgJPnCd04yQ z=ya-M7$0v-S&SH%sWo1g(F9=HBZYXXy<(-=dO9C(*xv27-nV~kxtwpk2z^PiX$B{~ zN8~~fh}{_LP;1MX*2eOcQG6S=8g* zDrdhpaWTL zcX4|qK;0Ank&{R=B9hp_Hf;_|_278E0RdfXLwYXexYZqm#aoKnp`UbI_*m&ZDZ1@gK~XdS>xqG4CY1Yt6U7AJk0!{mG^R7)xh$gmGUq@Pz&?vBz;Gfe88vA0WmUB z;qw@|IvRjZ!FbU@asG;0{fzN~`gWd13;S#SS40HKcyIwb=|@5UjgJ3KJaq3o zT*l^6B=BZv2h3L9j_2_$ysUjj#b;K9PI0r!QBh|lz`W}u+dDD)5S9yfy1uIwkQ}vi zho-SA4;%4Wn&wEoS`bholS+g>mcV;{YqE-=5D^lR_YF4|8l73&f>ur2!TNYE;lv-a zs?0FsvHKBI*V$AjC3*v(u3D4Un%^>_cHu+F{@DK!TxUN`UNmA4uCt?yUknQzk+kOX z^uVGwAgHA~Tm8wrLI4GeO z#&AZp7KF>eYt0jMIl4EsU0I^c|HK$L9a`(rND|1SWnY%4F-He18;NKY#c@DRATjuB zj_h0{p1*AUja|M348M5O(9+d{mPI3`EJX=X9>G{4T6UhezVgbEXRSvklroXw zA4P;)72n=|W7-3RaZ33+#W_|AeD*Nu1IryhH}Z}~hnc;4i8-7L6H&{PP%C>3)59K zjU+p0CV{)Ql(0{g77L!4ujhOr%uJx{>>O-Ms7bXg0`lLiL#C#(VMKjDQ(-*0J{;KC z`yPBtGQN;A?BEtK?#q9k(!ei@u~RbEs;@OTBoWDp#W-_EzlJ_8W}mM3?#ty zHneN2Eo2vkU=bIe=^knuQSMuW2P6`&-GDaj*cddGz))j+xZJ0UO~7JT3MJFRB^@r#O(EZ??ys}N^?oGD2b%6BbrpmXRG@L-r+mBVFBob^0vqH*y=n*S*#TXBBJl7td!q9}9_Ke4HZyV*?|5{WSub=1}Y zIcLs0OW5N#b>XMjoDX)u{pK6cjc^SMNn{xLiye%t@AQ)hl4u%55D(!;qi^v#%&F$1ZzcH`Zz6Y z4FzprY`;eQoj0-35c@-vbxeColQ^8i?Cb9Cx^eb|fm1nX1Rj6xpqdtDO{nyiy533+ zrlsC&kiL=;4~qsK z$fQ=at@!dvJx6T#v5pGB~hc|1qa;d>i-kE_}|miM{M99Kz;fU*6@l zwkc-gUA09d)^&9LjtJ(I=VwJ|8%{IP<*fOGe)+&(FK_1B)nUYw-Li%grM)-c-ymz? zScT88v}6?xL|gRYlgNYO(PX@|#8BUl3g@!k;$G>jyzhpVgRI7@*6W2VnN0rMpYBVa zA!>8;s`q}6b5n2toNF~#M%z|%^wj2(b;#V5jDc=wbzi6WmLA$|)ZNDzOfqJNixsvt z^=<(>!RM#-sCk#~KAw`dv%aX?34H8;ejul>7yCQ=1Ip+bc);8KCw@+e2s-P89L7f_ z#f;ugK9GY{Uf4Nj+`yX}rw4zvQBU zj{PaG35fo)IgC(%P}T&wBpQ@Dg19lBHtsZn6AP z(vT3{&TEc1q(8y4PHjqnuk?`2_rh4CBokW%o7i$+BYBJiYo63UAd{44be;yoGDS%u zz)pcjP%Pl>%xm_myoLkX1s>2b(MX#0#d`Ms)7MFQx@Ub{?cSjn?VQvrEtOBI3om}| zsR|}ZDGB;h<0WJkfuW4}%}B91%KEaVqfS%h^yjbLg#zS?1-4Z)JZlzsO%d9Al4J1> zC;X6cK`Gd)9#G`=+E!4ei2 zOD`9F>c-lb=2o-Azi-@0H+{rQ^1$!7#*R1Q*(lKs&Dbn{AdXw62J>zPozZ=cRQn5h z+P-XQMUyVh3>x#qt~6kyy6u(^$BOC9EBLosCn`4oUQEhB_bT>_>>l z9-_?N9Z+UnA}+ND0C%dq;7OP%UvYmiB5lf%!qxx`0RnxNz^C{VyV1SW-ylGl zdM>lX^F6cZbD@(W)H^>_B(*Ko5HCGtv&#Gdl%1ue;)-x&&0W6VMII*lL*jQ^{Gou4 zYQ8K6r@2hAt=`jQ%RR2$8$qw|?)4!FpgMDX_RW=?%%~r+)ZJP#D`elQ&A(q@G5MUO z;Dk&PKQhkB%igONOus?=7h|su8=(3TLl*vhKq^s7mh5w+VlM(DmDwYwa9RX6xpVK6gU> zkP<3x*lw`S8#R6Nx&tFkZSA-y6eoa;Z*KZ?>s+)>Z!poK^b_`(g(WIUGVp~{mxK@p z>u~l)WiM1?(Aus<4_Hih&~TaaVj3uc!`92)RX;>Wy~mXn@V)rc)9OfQypvt23d^!# zM?qv;u02A!svUvL5T&4)fxYh>eaJ&`Hb%_h*2^_W%_1ROjZlE1W)91)??@xZp(I@N ziZQsCg*<5J(Z`3F(%>1?6YRAN-C@nrj&|2Ie)-XgC-M_I)03uo-uUM#Gol7=@Os_d05qDov25 zQHvMjvh=|q2muF0t3UbqMLN&vE7Vl0KCz$N{g{gMv%DR+^4XI<3z%PQHgCN}6dEunZ)NB9jwU5OC{i4E~D3ibcKo4<$m|KRfe z;{rjD|EjC}s3P{js*Qxt_9-~@{*@j;$(f_;?e4F5Aw`j@&a%YQR(|1E6#Pk;WC z>F_W6&){|?YNG$-^8Ty87W||n47vgHDDy)S;ecJ0$xyNWVjd3-0g)yB54HaXvvnMB delta 13229 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 From 2ddb01132c0d74dedd36feb058a8484dba60bb00 Mon Sep 17 00:00:00 2001 From: liwen Date: Wed, 31 Jan 2024 14:25:32 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E6=9C=AA=E5=88=A0=E9=99=A4=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=85=B3=E8=81=94=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hnac/hzims/safeproduct/entity/CarEntity.java | 2 -- .../service/ICarAnnualInspectionService.java | 8 ++++++ .../safeproduct/service/ICarInsuranceService.java | 7 +++++ .../impl/CarAnnualInspectionServiceImpl.java | 17 ++++++++++++ .../service/impl/CarInsuranceServiceImpl.java | 19 ++++++++++++- .../safeproduct/service/impl/CarServiceImpl.java | 32 ++++++++++++++++------ 6 files changed, 74 insertions(+), 11 deletions(-) diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java index 706093a..5bc6403 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java @@ -64,12 +64,10 @@ public class CarEntity extends BaseEntity { @ApiModelProperty("下期年检时间") private Date nextAnnualInspectionTime; - @NotNull @Size(max = 50, message = "年检状态长度不能超过50") @ApiModelProperty("年检状态") private String annualInspectionStatus; - @NotNull @Size(max = 50, message = "保险状态长度不能超过50") @ApiModelProperty("保险状态") private String insuranceStatus; diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarAnnualInspectionService.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarAnnualInspectionService.java index 0ed28d1..a1f7099 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarAnnualInspectionService.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarAnnualInspectionService.java @@ -37,4 +37,12 @@ public interface ICarAnnualInspectionService extends IService getCarAnnualInspectionPage(Map param, Query query); + + /** + * 删除关联年检记录 + * @param carId 车辆id + * @return true-成功,false-失败 + */ + boolean removeRelativeCarAnnualInspection(Long carId); + } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarInsuranceService.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarInsuranceService.java index d2be60e..4c8405a 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarInsuranceService.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarInsuranceService.java @@ -38,4 +38,11 @@ public interface ICarInsuranceService extends IService { * @return 车保记录数据 */ IPage getCarInsurancePage(Map param, Query query); + + /** + * 删除关联车保记录 + * @param carId 车辆id + * @return true-成功,false-失败 + */ + boolean removeRelativeCarInsurance(Long carId); } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarAnnualInspectionServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarAnnualInspectionServiceImpl.java index 10be8b6..8f1e765 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarAnnualInspectionServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarAnnualInspectionServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 年检记录服务实现类 @@ -93,6 +94,22 @@ public class CarAnnualInspectionServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(CarAnnualInspectionEntity::getCarId, carId); + List list = this.list(queryWrapper); + // 若无关联年检记录,返回true + if (CollectionUtils.isEmpty(list)) { + return true; + } + List ids = list.stream().map(CarAnnualInspectionEntity::getId).collect(Collectors.toList()); + return this.removeByIds(ids); + } + + /** * 查询是否存在同月编号 * @param currentMonth 当月 * @return 存在则返回上一编号,否则返回null diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarInsuranceServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarInsuranceServiceImpl.java index cd132ef..17ce3bc 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarInsuranceServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarInsuranceServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 车保记录服务实现类 @@ -55,7 +56,7 @@ public class CarInsuranceServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(CarInsuranceEntity::getCarId, carId); + List list = this.list(queryWrapper); + // 若无关联用车记录,返回true + if (CollectionUtils.isEmpty(list)) { + return true; + } + List ids = list.stream().map(CarInsuranceEntity::getId).collect(Collectors.toList()); + return this.removeByIds(ids); + } + + /** * 查询是否存在同月编号 * @param currentMonth 当月 * @return 存在则返回上一编号,否则返回null diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarServiceImpl.java index df4619c..88a67ed 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarServiceImpl.java @@ -12,12 +12,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hnac.hzims.common.logs.utils.StringUtils; import com.hnac.hzims.safeproduct.dto.CarMilesYearDTO; import com.hnac.hzims.safeproduct.entity.CarEntity; -import com.hnac.hzims.safeproduct.enums.CarMaintenanceStatusEnum; import com.hnac.hzims.safeproduct.mapper.CarMapper; -import com.hnac.hzims.safeproduct.service.ICarCheckRecordService; -import com.hnac.hzims.safeproduct.service.ICarMaintenanceService; -import com.hnac.hzims.safeproduct.service.ICarService; -import com.hnac.hzims.safeproduct.service.ICarUsedRecordService; +import com.hnac.hzims.safeproduct.service.*; import com.hnac.hzims.safeproduct.vo.CarMilesYearVO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Query; @@ -55,6 +51,12 @@ public class CarServiceImpl extends ServiceImpl implements @Autowired ICarCheckRecordService carCheckRecordService; + @Autowired + ICarInsuranceService carInsuranceService; + + @Autowired + ICarAnnualInspectionService carAnnualInspectionService; + /** * 年度里程数页面 */ @@ -195,15 +197,29 @@ public class CarServiceImpl extends ServiceImpl implements // 删除关联维保记录 boolean removeCarMaintenance = carMaintenanceService.removeRelativeCarMaintenance(id); if (!removeCarMaintenance) { - return false; + throw new ServiceException("关联维保记录删除失败"); } // 删除关联用车记录 boolean removeCarUsedRecord = carUsedRecordService.removeRelativeCarUsedRecord(id); if (!removeCarUsedRecord) { - return false; + throw new ServiceException("关联用车记录删除失败"); } // 删除关联车检记录 - return carCheckRecordService.removeRelativeCarCheckRecord(id); + boolean removeCarCheckRecord = carCheckRecordService.removeRelativeCarCheckRecord(id); + if (!removeCarCheckRecord) { + throw new ServiceException("关联车检记录删除失败"); + } + // 删除关联年检记录 + boolean removeCarAnnualInspection = carAnnualInspectionService.removeRelativeCarAnnualInspection(id); + if (!removeCarAnnualInspection) { + throw new ServiceException("关联年检记录删除失败"); + } + // 删除关联车保记录 + boolean removeCarInsurance = carInsuranceService.removeRelativeCarInsurance(id); + if (!removeCarInsurance) { + throw new ServiceException("关联车保记录删除失败"); + } + return true; } return false; } From c1d13643c8d65cfea114114dd388780222e6c1f9 Mon Sep 17 00:00:00 2001 From: liwen Date: Wed, 31 Jan 2024 14:43:01 +0800 Subject: [PATCH 5/8] =?UTF-8?q?update:=20=E5=A2=9E=E5=8A=A0=E7=89=B9?= =?UTF-8?q?=E7=A7=8D=E8=AE=BE=E5=A4=87=E6=A3=80=E9=AA=8C=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hnac/hzims/safeproduct/entity/SpecialDeviceInspectionEntity.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/SpecialDeviceInspectionEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/SpecialDeviceInspectionEntity.java index 697de96..b4ad10a 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/SpecialDeviceInspectionEntity.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/SpecialDeviceInspectionEntity.java @@ -33,11 +33,9 @@ public class SpecialDeviceInspectionEntity extends BaseEntity { @ApiModelProperty("检验照片") private String imgPath; - @TableField(exist = false) @ApiModelProperty("下次检验时间") private Date nextInspectionTime; - @TableField(exist = false) @ApiModelProperty("上次检验时间") private Date lastInspectionTime; } From f18ae6356140af40315ad66818f622bd18b516a9 Mon Sep 17 00:00:00 2001 From: liwen Date: Wed, 31 Jan 2024 15:44:22 +0800 Subject: [PATCH 6/8] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0sql=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safeproduct/src/main/resources/db/1.0.2.sql | 44 +++++++++++++++------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/hzims-service/safeproduct/src/main/resources/db/1.0.2.sql b/hzims-service/safeproduct/src/main/resources/db/1.0.2.sql index 29c9f3e..8d9b1b0 100644 --- a/hzims-service/safeproduct/src/main/resources/db/1.0.2.sql +++ b/hzims-service/safeproduct/src/main/resources/db/1.0.2.sql @@ -98,6 +98,7 @@ CREATE TABLE `hzims_test` ( `subject` varchar(50) NOT NULL COMMENT '考试科目', `proctor` varchar(20) NOT NULL COMMENT '监考人', `people_name` varchar(1000) DEFAULT '' COMMENT '参考人员', + `test_method` varchar(50) NOT NULL COMMENT '考试方式', `img_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '考试图片', `file_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '考试附件', `create_user` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人', @@ -208,6 +209,7 @@ CREATE TABLE `hzims_hygiene_record` ( `code` varchar(50) NOT NULL COMMENT '编号', `actual_start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '实际开始时间', `actual_end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '实际结束时间', + `check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '检查时间', `check_user` varchar(20) NOT NULL DEFAULT '' COMMENT '检查人', `hygiene_zone_ids` varchar(1000) NOT NULL COMMENT '卫生自查区域id', `check_result` mediumtext NOT NULL COMMENT '检查结果', @@ -231,16 +233,16 @@ CREATE TABLE `hzims_car` ( `car_type` varchar(50) NOT NULL COMMENT '型号', `plate_number` varchar(50) NOT NULL COMMENT '车牌号', `registration_time` date NOT NULL COMMENT '上牌时间', - `insurance_pay_last_time` date NOT NULL COMMENT '上期缴车保时间', - `insurance_pay_next_time` date NOT NULL COMMENT '下期缴车保时间', - `insurance_status` varchar(50) NOT NULL COMMENT '保险状态', - `last_annual_inspection_time` date NOT NULL COMMENT '上期年检时间', - `next_annual_inspection_time` date NOT NULL COMMENT '下期年检时间', - `annual_inspection_status` varchar(50) NOT NULL COMMENT '年检状态', + `insurance_pay_last_time` date DEFAULT NULL COMMENT '上期缴车保时间', + `insurance_pay_next_time` date DEFAULT NULL COMMENT '下期缴车保时间', + `insurance_status` varchar(50) NOT NULL DEFAULT 'UNINSURED' COMMENT '保险状态', + `last_annual_inspection_time` date DEFAULT NULL COMMENT '上期年检时间', + `next_annual_inspection_time` date DEFAULT NULL COMMENT '下期年检时间', + `annual_inspection_status` varchar(50) NOT NULL DEFAULT 'UNFINISHED' COMMENT '年检状态', `maintenance_last_time` date DEFAULT NULL COMMENT '上期保养时间', `maintenance_next_time` date DEFAULT NULL COMMENT '下期保养时间', `maintenance_mileage` decimal(10, 2) DEFAULT NULL COMMENT '保养里程', - `maintenance_status` varchar(50) DEFAULT NULL COMMENT '保养状态', + `maintenance_status` varchar(50) NOT NULL DEFAULT 'UNMAINTAINED' COMMENT '保养状态', `manager_id` bigint(20) DEFAULT NULL COMMENT '车辆管理人id', `manager` varchar(50) NOT NULL COMMENT '车辆管理人', `img_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '车辆图片', @@ -288,7 +290,7 @@ CREATE TABLE `hzims_car_used_record` ( `unit` varchar(50) NOT NULL COMMENT '用车单位', `used_location` varchar(255) NOT NULL COMMENT '使用地点', `user` varchar(20) NOT NULL COMMENT '使用人', - `remark` mediumtext DEFAULT NULL COMMENT '使用详情', + `remark` mediumtext COMMENT '使用详情', `start_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '使用时间', `end_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收车时间', `start_miles` decimal(10, 2) NOT NULL COMMENT '出车公里数', @@ -346,9 +348,8 @@ CREATE TABLE `hzims_car_annual_inspection` ( `car_id` bigint(20) NOT NULL COMMENT '车辆id', `code` varchar(50) NOT NULL COMMENT '编号', `annual_inspection_time` date NOT NULL COMMENT '年检时间', + `next_annual_inspection_time` date NOT NULL COMMENT '下次年检时间', `location` varchar(255) NOT NULL DEFAULT '' COMMENT '年检地点', - `cost` bigint(20) NOT NULL COMMENT '年检费用', - `inspection_manager` varchar(50) NOT NULL DEFAULT '' COMMENT '年检负责人', `img_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '年检图片', `create_user` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人', `create_dept` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建部门', @@ -365,9 +366,8 @@ CREATE TABLE `hzims_car_insurance` ( `car_id` bigint(20) NOT NULL COMMENT '车辆id', `code` varchar(50) NOT NULL COMMENT '编号', `insurance_time` date NOT NULL COMMENT '车保时间', + `next_insurance_time` date NOT NULL COMMENT '下次车保时间', `location` varchar(255) NOT NULL DEFAULT '' COMMENT '车保地点', - `cost` bigint(20) NOT NULL COMMENT '车保费用', - `insurance_manager` varchar(50) NOT NULL DEFAULT '' COMMENT '车保负责人', `img_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '车保图片', `create_user` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人', `create_dept` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建部门', @@ -394,7 +394,25 @@ CREATE TABLE `hzims_device` ( `inspection_last_time` date DEFAULT NULL COMMENT '上次检验日期', `manager_id` bigint(20) DEFAULT NULL COMMENT '设备管理人id', `manager` varchar(50) NOT NULL DEFAULT '' COMMENT '设备管理人', - `device_status` varchar(20) NOT NULL DEFAULT 'NORMAL' COMMENT '设备状态', + `device_status` varchar(20) NOT NULL DEFAULT 'EXPIRED' COMMENT '设备状态', + `create_user` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人', + `create_dept` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建部门', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_user` bigint(20) DEFAULT '-1' COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', + `status` int(2) NOT NULL DEFAULT '1' COMMENT '状态', + `is_deleted` int(2) NOT NULL DEFAULT '0' COMMENT '逻辑删除状态:0-未删除,1-删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=INNODB CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='特种设备表' ROW_FORMAT=Dynamic; + +CREATE TABLE `hzims_device_inspection` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `device_id` bigint(20) NOT NULL COMMENT '设备id', + `inspection_time` date NOT NULL COMMENT '设备检验时间', + `last_inspection_time` date NOT NULL COMMENT '上次检验时间', + `next_inspection_time` date NOT NULL COMMENT '下次检验时间', + `location` varchar(255) NOT NULL DEFAULT '' COMMENT '设备检验地点', + `img_path` varchar(1000) NOT NULL DEFAULT '' COMMENT '设备检验图片', `create_user` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建人', `create_dept` bigint(20) NOT NULL DEFAULT '-1' COMMENT '创建部门', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', From d6c2d05ec170a8755d8e6a021a77dbb2867994c6 Mon Sep 17 00:00:00 2001 From: yang_shj <1069818635@QQ.com> Date: Wed, 31 Jan 2024 16:56:54 +0800 Subject: [PATCH 7/8] =?UTF-8?q?#=E6=96=BD=E5=B7=A5=E6=97=A5=E5=AD=90?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/word/constructio_template.docx | Bin 18910 -> 11674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/hzims-service/operational/src/main/resources/template/word/constructio_template.docx b/hzims-service/operational/src/main/resources/template/word/constructio_template.docx index c59be0bcf55b8ae5e2c3d6bf52de7befce2bcd89..5fdb7009b91bfaa60885d4855cff97efe1f4bf69 100644 GIT binary patch delta 8569 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 NOu_&F4fOwb{XdP=@)!UB delta 15998 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 From de0b80f23f669d653f956d38e639dfea7e7dbd9b Mon Sep 17 00:00:00 2001 From: yang_shj <1069818635@QQ.com> Date: Thu, 1 Feb 2024 11:53:31 +0800 Subject: [PATCH 8/8] =?UTF-8?q?#=E6=96=BD=E5=B7=A5=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../access/entity/OperAccessTaskEntity.java | 3 +++ .../access/entity/OperConstructionEntity.java | 5 +++++ .../access/controller/ConstructionController.java | 19 +++++++++------- .../access/service/ConstructionService.java | 1 + .../service/impl/ConstructionServiceImpl.java | 25 +++++++++++++++++++++- 5 files changed, 44 insertions(+), 9 deletions(-) diff --git a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperAccessTaskEntity.java b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperAccessTaskEntity.java index 27345a2..eac70ff 100644 --- a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperAccessTaskEntity.java +++ b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperAccessTaskEntity.java @@ -139,4 +139,7 @@ public class OperAccessTaskEntity extends TenantEntity { @ApiModelProperty(value = "创建用户名称") private String updateUserName; + + @ApiModelProperty(value = "创建用户名称") + private Long constructionId; } diff --git a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperConstructionEntity.java b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperConstructionEntity.java index 8c138e0..deed5fb 100644 --- a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperConstructionEntity.java +++ b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/access/entity/OperConstructionEntity.java @@ -1,5 +1,6 @@ package com.hnac.hzims.operational.access.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -80,4 +81,8 @@ public class OperConstructionEntity extends TenantEntity { @ApiModelProperty(value = "审核人名称") private String reviewerName; + @ApiModelProperty(value = "检修Id") + @TableField(exist = false) + private Long taskId; + } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java index 4829bc6..d8f3950 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/controller/ConstructionController.java @@ -16,13 +16,11 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import java.util.Date; /** @@ -41,9 +39,7 @@ public class ConstructionController extends BladeController { @ApiOperationSupport(order = 1) @ApiOperation(value = "新增") public R save(@RequestBody OperConstructionEntity entity) { - entity.setCode("SGRZ" + DateUtil.format(new Date(),DateUtil.PATTERN_DATETIME_MINI)); - entity.setConstructionTime(entity.getOverhaulTime()); - return R.status(service.save(entity)); + return R.status(service.accessSave(entity)); } @PostMapping("/remove") @@ -53,15 +49,22 @@ public class ConstructionController extends BladeController { return R.status(service.deleteLogic(Func.toLongList(ids))); } - @PostMapping("/update") + @GetMapping("/detail") @ApiOperationSupport(order = 3) + @ApiOperation(value = "详情查询") + public R detail(@ApiParam(value = "主键Id", required = true) @RequestParam Long id) { + return R.data(service.getById(id)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 4) @ApiOperation(value = "修改") public R update(@Valid @RequestBody OperConstructionEntity entity) { return R.status(service.updateById(entity)); } @GetMapping("/list") - @ApiOperationSupport(order = 4) + @ApiOperationSupport(order = 5) @OperationAnnotation(moduleName = "施工日志",title = "施工日志",operatorType = OperatorType.MOBILE,businessType = BusinessType.GENCODE, action = "分页查询施工日志") @@ -71,7 +74,7 @@ public class ConstructionController extends BladeController { } @GetMapping("/preview") - @ApiOperationSupport(order = 5) + @ApiOperationSupport(order = 6) @ApiOperation(value = "检修施工日志预览", notes = "检修施工日志预览") public void preview(@RequestParam @ApiParam("检修施工记录Id") @NotNull @Valid Long id) { service.preview(id); diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/ConstructionService.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/ConstructionService.java index a70cedc..575a60a 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/ConstructionService.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/ConstructionService.java @@ -12,6 +12,7 @@ import org.springblade.core.tool.api.R; */ public interface ConstructionService extends BaseService { + boolean accessSave(OperConstructionEntity entity); IPage pageCondition(IPage page, ConstructionVo construction); diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java index d9a0fed..b16da12 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/ConstructionServiceImpl.java @@ -4,12 +4,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import cn.afterturn.easypoi.word.WordExportUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.hnac.hzims.operational.access.entity.OperAccessTaskEntity; import com.hnac.hzims.operational.access.entity.OperConstructionEntity; import com.hnac.hzims.operational.access.mapper.ConstructionMapper; import com.hnac.hzims.operational.access.service.ConstructionService; +import com.hnac.hzims.operational.access.service.IOperAccessTaskService; import com.hnac.hzims.operational.access.vo.ConstructionVo; import com.hnac.hzims.operational.util.PdfUtils; -import com.hnac.hzims.operational.util.WordUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -32,6 +34,7 @@ import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -43,6 +46,9 @@ import java.util.Map; @RequiredArgsConstructor public class ConstructionServiceImpl extends BaseServiceImpl implements ConstructionService { + + private final IOperAccessTaskService accessTaskService; + @Value("${hzims.operation.construction.save.img}") private String constructionSaveImgPath; @@ -106,6 +112,23 @@ public class ConstructionServiceImpl extends BaseServiceImpllambdaUpdate() + .set(OperAccessTaskEntity::getConstructionId,entity.getId()) + .eq(OperAccessTaskEntity::getId,entity.getTaskId()) + ); + } + return true; + } + /** * 查询施工日志记录 * @param id