From d2cac150a1f5e46135108f5ebf717b959ed0e04b Mon Sep 17 00:00:00 2001 From: zhaowenyuan Date: Wed, 26 Jun 2024 15:27:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E7=BB=88=E7=AB=AF,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chushang/common/dict/utils/DictUtils.java | 45 ++++-- .../src/main/resources/logback-nacos.xml | 5 + .../src/main/resources/logback-nacos.xml | 7 + .../inspection/project/po/PollingTask.java | 2 +- .../inspection/project/vo/TerminalApp.java | 101 ++++++++++++ .../inspection/project/vo/TerminalAppVO.java | 78 +++++++++ .../inspection/terminal/po/Terminal.java | 94 ----------- .../inspection/terminal/po/TerminalIns.java | 152 ++++++++++++++++++ .../terminal/query/TerminalAppQuery.java | 2 +- .../project/service/PollingTaskService.java | 4 + .../service/impl/PollingTaskServiceImpl.java | 18 +++ .../controller/TerminalController.java | 23 +++ .../terminal/mapper/TerminalMapper.java | 8 +- .../terminal/service/TerminalService.java | 9 ++ .../service/impl/TerminalServiceImpl.java | 39 ++++- .../inspection/utils/TaskConfigUtils.java | 76 +++++++++ .../src/main/resources/logback-nacos.xml | 52 +++++- .../main/resources/mapper/TerminalMapper.xml | 62 +++++++ .../src/main/resources/logback-nacos.xml | 19 ++- 19 files changed, 674 insertions(+), 122 deletions(-) create mode 100644 chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalApp.java create mode 100644 chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalAppVO.java create mode 100644 chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/TerminalIns.java create mode 100644 chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/utils/TaskConfigUtils.java diff --git a/chushang-common/chushang-common-dict/src/main/java/com/chushang/common/dict/utils/DictUtils.java b/chushang-common/chushang-common-dict/src/main/java/com/chushang/common/dict/utils/DictUtils.java index cfee257..e6c34f1 100644 --- a/chushang-common/chushang-common-dict/src/main/java/com/chushang/common/dict/utils/DictUtils.java +++ b/chushang-common/chushang-common-dict/src/main/java/com/chushang/common/dict/utils/DictUtils.java @@ -1,6 +1,7 @@ package com.chushang.common.dict.utils; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.extra.spring.SpringUtil; import com.chushang.common.core.web.Result; @@ -22,9 +23,7 @@ public class DictUtils { private static final RemoteDictDataService remoteService = SpringUtil.getBean(RemoteDictDataService.class); private static final RedissonClient redissonClient = SpringUtil.getBean(RedissonClient.class); private static final String DICT_MAP_KEY = "dict_map_key:"; - - private static final Map> DICT_CACHE = MapUtil.newConcurrentHashMap(25); - + private static final String DICT_MAP_LABEL = "dict_map_label:"; /** * 远程调用 */ @@ -37,14 +36,7 @@ public class DictUtils { return new HashMap<>(); } - /** - * 根据字段值获取字典标签 - * - * @param dictType 字典类型 - * @param value 字典值 - * @return 字典标签 - */ - public static String getDictLabel(String dictType, String value) { + private static Map getDictMap(String dictType){ RBucket> bucket = redissonClient.getBucket(DICT_MAP_KEY + dictType); Map dictMap = bucket.get(); if (CollUtil.isEmpty(dictMap)) { @@ -54,6 +46,37 @@ public class DictUtils { } bucket.set(dictMap); } + return dictMap; + } + + /** + * 根据字段值获取字典标签 + * + * @param dictType 字典类型 + * @param value 字典值 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String value) { + Map dictMap = getDictMap(dictType); + assert dictMap != null; return dictMap.get(value); } + + /** + * 根据字典标签获取字段值 + * + * @param dictType 字典类型 + * @param label 字典标签 + * @return 字典值 + */ + public static String getDictValue(String dictType, String label) { + Map dictMap = getDictMap(dictType); + assert dictMap != null; + if (CollUtil.isEmpty(dictMap)){ + return null; + } + return dictMap.values().stream().filter(value -> value.equals(label)) + .findFirst().orElse(null); + } + } diff --git a/chushang-modules/chushang-module-auth/auth-service/src/main/resources/logback-nacos.xml b/chushang-modules/chushang-module-auth/auth-service/src/main/resources/logback-nacos.xml index 977c569..0f4dbbc 100644 --- a/chushang-modules/chushang-module-auth/auth-service/src/main/resources/logback-nacos.xml +++ b/chushang-modules/chushang-module-auth/auth-service/src/main/resources/logback-nacos.xml @@ -83,6 +83,11 @@ + + + + + diff --git a/chushang-modules/chushang-module-gateway/src/main/resources/logback-nacos.xml b/chushang-modules/chushang-module-gateway/src/main/resources/logback-nacos.xml index a51d9a9..683be8b 100644 --- a/chushang-modules/chushang-module-gateway/src/main/resources/logback-nacos.xml +++ b/chushang-modules/chushang-module-gateway/src/main/resources/logback-nacos.xml @@ -83,6 +83,11 @@ + + + + + @@ -108,4 +113,6 @@ + + diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/po/PollingTask.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/po/PollingTask.java index 5a488df..1730f31 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/po/PollingTask.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/po/PollingTask.java @@ -111,7 +111,7 @@ public class PollingTask extends BaseEntity { private LocalDateTime endTime; /** - * 任务状态 + * 任务状态 false 未使用, 1 已启用 */ @TableField(value = "enabled") private Boolean enabled; diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalApp.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalApp.java new file mode 100644 index 0000000..6aba59c --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalApp.java @@ -0,0 +1,101 @@ +package com.chushang.inspection.project.vo; + +import com.chushang.common.dict.annotation.DictFormat; +import com.chushang.inspection.terminal.vo.StoreVO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TerminalApp implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * id + */ + private Long terminalId; + + /** + * id + */ + private Long storeId; + + /** + * id + */ + private Long lowerTaskId; + + /** + * 终端sn号 + */ + private String terminalSn; + + /** + * 终端编号 + */ + private String terminalNo; + + /** + * 终端类型 + */ + @DictFormat(dictType = "terminal_type") + private Integer terminalType; + + /** + * 终端型号 + */ + private String terminalModel; + + /** + * 终端版本号 + */ + private String terminalVersion; + + /** + * 终端地址 + */ + private String terminalAddress; + + /** + * 终端来源 + */ + @DictFormat(dictType = "terminal_source") + private Integer terminalSource; + + /** + * 机构名称 + * taskId + */ + private String taskName; + + /** + * 商户信息 + * storeId + */ + private StoreVO store; + /** + * 上次工单处理时间 + * wrk_info_ id + * (state = :state) order by dispose_time desc limit 1 + */ + private LocalDateTime processingTime; + + /** + * 上次服务结果 + * wrk_info id + * (state = :state) order by dispose_time desc limit 1 + */ + @DictFormat(dictType = "service_results") + private Integer serviceResults; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalAppVO.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalAppVO.java new file mode 100644 index 0000000..ea29e96 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/project/vo/TerminalAppVO.java @@ -0,0 +1,78 @@ +package com.chushang.inspection.project.vo; + +import com.chushang.common.dict.annotation.DictFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TerminalAppVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long terminalId; + + /** + * 商户名称 + */ + private String storeName; + + /** + * 商户联系人 + */ + private String storeContact; + + /** + * 商户地址 + */ + private String storeAddress; + + /** + * 终端地址 + */ + private String terminalAddress; + + /** + * 巡检频次 + */ + @DictFormat(dictType = "ins_fre") + private Integer insFre; + + /** + * 上次工单处理时间 + */ + private LocalDateTime inspectionTime; + + /** + * 上次服务结果 + */ + @DictFormat(dictType = "service_results") + private Integer serviceResults; + + /** + * 审核通过次数 + */ + private Integer timesPass; + + /** + * 机构名称 + */ + private String taskName; + + /** + * 终端编号 + */ + private String terminalNo; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java index 15d5c51..11c994b 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java @@ -128,99 +128,5 @@ public class Terminal extends BaseEntity { @TableField(value = "remark") private String remark; - /** - * 银行资产管理码 - */ - @TableField(value = "management_code") - private String managementCode; - /** - * 地理位置信息 - */ - @TableField(value = "geographic_location") - private String geographicLocation; - - /** - * 地理位置信息地址 - */ - @TableField(value = "geographic_address") - private String geographicAddress; - - /** - * 巡检位置信息 - */ - @TableField(value = "work_location") - private String workLocation; - - /** - * 巡检位置信息 - */ - @TableField(value = "work_address") - private String workAddress; - - /** - * 偏差(直线距离 米) - */ - @TableField(value = "deviation") - private Long deviation; - - /** - * 入库时间 - */ - @TableField(value = "storage_time") - private LocalDateTime storageTime; - - /** - * 出库时间 - */ - @TableField(value = "delivery_time") - private LocalDateTime deliveryTime; - - /** - * 出库原因 - */ - @TableField(value = "reason_for_shipment") - private Integer reasonForShipment; - - /** - * 操作员编号 - */ - @TableField(value = "operator_id") - private String operatorId; - - /** - * 预制码编码 - */ - @TableField(value = "pre_code_encoding") - private String preCodeEncoding; - - /** - * 是否为业务员录入(1是 2否) - */ - @TableField(value = "is_enter") - private Integer isEnter; - - /** - * 上次服务结果 - */ - @TableField(value = "service_result") - private Integer serviceResult; - - /** - * 审核通过次数 - */ - @TableField(value = "times_pass") - private Integer timesPass; - - /** - * 巡检状态 1 已巡检 2 未巡检 - */ - @TableField(value = "inspection_status") - private Integer inspectionStatus; - - /** - * 巡检时间(上次业务员处理时间) - */ - @TableField(value = "inspection_time") - private LocalDateTime inspectionTime; } diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/TerminalIns.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/TerminalIns.java new file mode 100644 index 0000000..629a0a2 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/TerminalIns.java @@ -0,0 +1,152 @@ +package com.chushang.inspection.terminal.po; + +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 com.chushang.common.mybatis.base.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +/** + * @auther: zhao + * @date: 2024/6/26 15:25 + * 终端 工单表 + */ +@Data +@EqualsAndHashCode(callSuper=true) +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "st_terminal_ins") +public class TerminalIns extends BaseEntity { + /** + * 主键 + */ + @TableId(value = "terminal_id", type = IdType.ASSIGN_ID) + private Long terminalId; + + /** + * 租户id + */ + @TableField(value = "dept_id") + private Long deptId; + + /** + * 任务id + */ + @TableField(value = "task_id") + private Long taskId; + + /** + * 下级任务id + */ + @TableField(value = "lower_task_id") + private Long lowerTaskId; + + /** + * 所属商户id + */ + @TableField(value = "store_id") + private Long storeId; + + /** + * 银行资产管理码 + */ + @TableField(value = "management_code") + private String managementCode; + + /** + * 地理位置信息 + */ + @TableField(value = "geographic_location") + private String geographicLocation; + + /** + * 地理位置信息地址 + */ + @TableField(value = "geographic_address") + private String geographicAddress; + + /** + * 巡检位置信息 + */ + @TableField(value = "work_location") + private String workLocation; + + /** + * 巡检位置信息 + */ + @TableField(value = "work_address") + private String workAddress; + + /** + * 偏差(直线距离 米) + */ + @TableField(value = "deviation") + private Long deviation; + + /** + * 入库时间 + */ + @TableField(value = "storage_time") + private LocalDateTime storageTime; + + /** + * 出库时间 + */ + @TableField(value = "delivery_time") + private LocalDateTime deliveryTime; + + /** + * 出库原因 + */ + @TableField(value = "reason_for_shipment") + private Integer reasonForShipment; + + /** + * 操作员编号 + */ + @TableField(value = "operator_id") + private String operatorId; + + /** + * 预制码编码 + */ + @TableField(value = "pre_code_encoding") + private String preCodeEncoding; + + /** + * 是否为业务员录入(1是 2否) + */ + @TableField(value = "is_enter") + private Integer isEnter; + + /** + * 上次服务结果 + */ + @TableField(value = "service_result") + private Integer serviceResult; + + /** + * 审核通过次数 + */ + @TableField(value = "times_pass") + private Integer timesPass; + + /** + * 巡检状态 1 已巡检 2 未巡检 + */ + @TableField(value = "inspection_status") + private Integer inspectionStatus; + + /** + * 巡检时间(上次业务员处理时间) + */ + @TableField(value = "inspection_time") + private LocalDateTime inspectionTime; + +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java index e7e4a34..f0c963e 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java @@ -24,7 +24,7 @@ public class TerminalAppQuery extends CommonParam { /** * 商户编号 */ - @Condition(name = "no") + @Condition(name = "store_no") @Size(max = 64, message = "商户编号不能超过64个字符") private String storeNo; diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/PollingTaskService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/PollingTaskService.java index e00d4d0..27382b5 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/PollingTaskService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/PollingTaskService.java @@ -1,5 +1,6 @@ package com.chushang.inspection.project.service; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.service.IService; import com.chushang.common.mybatis.page.CommonParam; import com.chushang.inspection.project.dto.TaskDTO; @@ -8,6 +9,7 @@ import com.chushang.inspection.project.dto.TaskQuery; import com.chushang.inspection.project.po.PollingTask; import com.chushang.inspection.project.vo.ConfigVO; import com.chushang.inspection.project.vo.TaskVO; +import org.springframework.cache.annotation.Cacheable; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -35,4 +37,6 @@ public interface PollingTaskService extends IService{ void importSave(List taskExcel, Long parentId); + PollingTask getTopTask(Long taskId); + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/impl/PollingTaskServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/impl/PollingTaskServiceImpl.java index 0023320..3b546bc 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/impl/PollingTaskServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/project/service/impl/PollingTaskServiceImpl.java @@ -32,6 +32,8 @@ import com.chushang.task.enums.TaskTypeEnum; import com.chushang.task.feign.RemoteTaskService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chushang.inspection.project.mapper.PollingTaskMapper; @@ -51,6 +53,7 @@ import java.util.stream.Collectors; */ @Slf4j @Service +@CacheConfig(cacheNames = "task") public class PollingTaskServiceImpl extends ServiceImpl implements PollingTaskService { /** * 通过远程调用的方式进行入库 @@ -220,6 +223,21 @@ public class PollingTaskServiceImpl extends ServiceImpl taskSql = WrapperUtils.builder(); + taskSql.eq(PollingTask::getSearchNum, searchNum) + .last(Operator.LIMIT_ONE.getCharacter()); + return baseMapper.selectOne(taskSql); + } + @Transactional public Result importTask(String params) { diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java index 85b3f99..46b1386 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java @@ -12,6 +12,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; /** * 终端信息表(st_terminal)表控制层 @@ -49,5 +50,27 @@ public class TerminalController { return AjaxResult.success(terminalService.queryPageApp(query)); } + /** + * 查询终端 + */ + @SysLog(value = "终端详情", businessType = BusinessType.QUERY) + @PostMapping("/info/{terminalId}") + @RequiresPermissions("terminal:info") + public AjaxResult info(@PathVariable Long terminalId) { + return AjaxResult.success(terminalService.getById(terminalId)); + } + + /** + * 查询终端app + */ + @SysLog(value = "终端详情app", businessType = BusinessType.QUERY) + @PostMapping("/info/app/{terminalId}") + @RequiresPermissions("terminal:info:app") + public AjaxResult infoApp(@PathVariable Long terminalId, + @RequestParam("taskId") Long taskId) { + + return AjaxResult.success(terminalService.getAppById(terminalId, taskId)); + } + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java index 4032103..63dec92 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java @@ -3,8 +3,10 @@ package com.chushang.inspection.terminal.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chushang.datascope.annotation.DataScope; +import com.chushang.inspection.project.vo.TerminalAppVO; import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Terminal; +import com.chushang.inspection.terminal.query.TerminalAppQuery; import com.chushang.inspection.terminal.query.TerminalQuery; import com.chushang.inspection.terminal.vo.TerminalVO; import org.apache.ibatis.annotations.Param; @@ -16,7 +18,9 @@ import java.util.List; * @date: 2024/6/21 16:39 */ public interface TerminalMapper extends BaseMapper { - + @DataScope(deptAlias = "t") List pageList(@Param("query") TerminalQuery query, - Page page); + Page page); + @DataScope(deptAlias = "t") + List selectPageApp(@Param("query") TerminalAppQuery query, Page page); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java index c85fae5..2137df6 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java @@ -2,6 +2,7 @@ package com.chushang.inspection.terminal.service; import com.baomidou.mybatisplus.extension.service.IService; import com.chushang.common.mybatis.utils.PageResult; +import com.chushang.inspection.project.vo.TerminalApp; import com.chushang.inspection.terminal.po.Terminal; import com.chushang.inspection.terminal.query.TerminalAppQuery; import com.chushang.inspection.terminal.query.TerminalQuery; @@ -24,4 +25,12 @@ public interface TerminalService extends IService{ * 查询终端app */ PageResult queryPageApp(TerminalAppQuery query); + + /** + * 终端详情app id + * @param terminalId + * @param taskId + * @return + */ + TerminalApp getAppById(Long terminalId, Long taskId); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java index 5dd4967..c7b491b 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java @@ -1,21 +1,30 @@ package com.chushang.inspection.terminal.service.impl; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.common.dict.utils.DictUtils; +import com.chushang.common.mybatis.enums.Operator; import com.chushang.common.mybatis.page.CommonParam; import com.chushang.common.mybatis.utils.PageResult; import com.chushang.common.mybatis.utils.WrapperUtils; import com.chushang.datascope.annotation.DataScope; +import com.chushang.inspection.project.vo.TerminalApp; +import com.chushang.inspection.project.vo.TerminalAppVO; import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Terminal; import com.chushang.inspection.terminal.query.TerminalAppQuery; import com.chushang.inspection.terminal.query.TerminalQuery; +import com.chushang.inspection.terminal.service.StoreService; import com.chushang.inspection.terminal.service.TerminalService; import com.chushang.inspection.terminal.vo.TerminalVO; +import com.chushang.inspection.utils.TaskConfigUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chushang.inspection.terminal.mapper.TerminalMapper; +import javax.annotation.Resource; import java.util.List; /** @@ -24,18 +33,44 @@ import java.util.List; */ @Service public class TerminalServiceImpl extends ServiceImpl implements TerminalService { + @Resource + private StoreService storeService; @Override - @DataScope(deptAlias = "t") public PageResult pageList(TerminalQuery query) { CommonParam commonParam = CommonParam.buildPageRequest(); - Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); + Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); List terminalVOS = baseMapper.pageList(query, page); return new PageResult(terminalVOS, page); } @Override public PageResult queryPageApp(TerminalAppQuery query) { + CommonParam commonParam = CommonParam.buildPageRequest(); + Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); + List terminalVOS = baseMapper.selectPageApp(query, page); + return new PageResult(terminalVOS, page); + } + + /** + * TODO 终端app + * @param terminalId + * @param taskId + * @return + */ + @Override + public TerminalApp getAppById(Long terminalId, Long taskId) { + String label = TaskConfigUtils.reviewMethod(taskId) == 3 ? "复审通过" : "初审通过"; + String wrkStatus = DictUtils.getDictValue("wrk_status", label); + Integer state = Convert.toInt(wrkStatus); + LambdaQueryWrapper terminalSql = new LambdaQueryWrapper() + .eq(Terminal::getTerminalId, terminalId) + .eq(Terminal::getTaskId, taskId).last(Operator.LIMIT_ONE.getCharacter()); + Terminal terminal = getOne(terminalSql); + if (ObjectUtil.isNotEmpty(terminal)){ + Store store = storeService.getById(terminal.getStoreId()); + + } return null; } } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/utils/TaskConfigUtils.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/utils/TaskConfigUtils.java new file mode 100644 index 0000000..5477531 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/utils/TaskConfigUtils.java @@ -0,0 +1,76 @@ +package com.chushang.inspection.utils; + +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.extra.spring.SpringUtil; +import com.chushang.inspection.project.po.PollingTask; +import com.chushang.inspection.project.service.PollingTaskService; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class TaskConfigUtils { + + private static final PollingTaskService TASK_SERVICE = SpringUtil.getBean(PollingTaskService.class); + + + /** + * 获取巡检任务 + * + * @param taskId 任务id + * @return 任务信息 + */ + public static PollingTask getConfig(Long taskId) { + PollingTask config = TASK_SERVICE.getTopTask(taskId); + Assert.isTrue(config.getEnabled(), "此任务未开通"); + if (config.getEndTime() != null && config.getStartTime() != null) { + Assert.isTrue(LocalDateTimeUtil.isIn(LocalDateTime.now(), config.getStartTime(), config.getEndTime()), + "此任务不在执行日期内"); + } + return config; + } + + /** + * 是否复审 + * + * @param taskId 任务id + */ + public static Integer reviewMethod(Long taskId) { + Integer isRecheck = getConfig(taskId).getReviewMethod(); + Assert.notNull(isRecheck, "未指定审核方式"); + return isRecheck; + } + + /** + * 是否重复派单 + * + * @param taskId 任务id + */ + public static boolean isRepeat(Long taskId) { + Integer isRepeat = getConfig(taskId).getIsRepeat(); + return isRepeat != null && isRepeat == 1; + } + + /** + * 是否有巡检单 + * + * @param taskId 任务id + */ + public static boolean isisInspection(Long taskId) { + Integer isRepeat = getConfig(taskId).getIsInspection(); + return isRepeat != null && isRepeat == 1; + } + + + /** + * 巡检方式 + * + * @param taskId 任务id + */ + public static Integer dispatchMethod(Long taskId) { + Integer method = getConfig(taskId).getDispatchMethod(); + return method == null ? 0 : method; + } +} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/logback-nacos.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/logback-nacos.xml index 977c569..478daf9 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/logback-nacos.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/logback-nacos.xml @@ -100,12 +100,48 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml index 6ac6820..31e82db 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml @@ -166,4 +166,66 @@ ORDER BY #{query.orderBy} #{query.isAsc} + + diff --git a/chushang-modules/chushang-module-system/system-service/src/main/resources/logback-nacos.xml b/chushang-modules/chushang-module-system/system-service/src/main/resources/logback-nacos.xml index 977c569..0bcddef 100644 --- a/chushang-modules/chushang-module-system/system-service/src/main/resources/logback-nacos.xml +++ b/chushang-modules/chushang-module-system/system-service/src/main/resources/logback-nacos.xml @@ -81,9 +81,12 @@ - - - + + + + + + @@ -108,4 +111,14 @@ + + + + + + + + + +