diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java index 177368f77..ec825523d 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/AccessLogCleanJob.java @@ -4,6 +4,7 @@ import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.module.infra.service.logger.ApiAccessLogService; /*import com.xxl.job.core.handler.annotation.XxlJob;*/ import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -30,11 +31,12 @@ public class AccessLogCleanJob { */ private static final Integer DELETE_LIMIT = 100; - /* @XxlJob("accessLogCleanJob") + /* @XxlJob("accessLogCleanJob")*/ @OrganIgnore + /* @Scheduled(cron = "0 0 * * * ?")*/ public void execute() { Integer count = apiAccessLogService.cleanAccessLog(JOB_CLEAN_RETAIN_DAY, DELETE_LIMIT); log.info("[execute][定时执行清理访问日志数量 ({}) 个]", count); - }*/ + } } diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java index 7d56c9b70..3d98a41b3 100644 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java +++ b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/job/logger/ErrorLogCleanJob.java @@ -4,6 +4,7 @@ import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.module.infra.service.logger.ApiErrorLogService; /*import com.xxl.job.core.handler.annotation.XxlJob;*/ import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -30,11 +31,12 @@ public class ErrorLogCleanJob { */ private static final Integer DELETE_LIMIT = 100; - /* @XxlJob("errorLogCleanJob") + /*@XxlJob("errorLogCleanJob")*/ @OrganIgnore + /*@Scheduled(cron = "0 0 2 * * ?")*/ public void execute() { Integer count = apiErrorLogService.cleanErrorLog(JOB_CLEAN_RETAIN_DAY,DELETE_LIMIT); log.info("[execute][定时执行清理错误日志数量 ({}) 个]", count); - }*/ + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java index ada7f61f3..d6557acbd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java @@ -4,6 +4,7 @@ import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.operatelog.core.annotations.OperateLog; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.module.executor.service.optimizeplan.OptimizePlanService; +import com.cf.imes.module.system.api.dataSource.DataSourceApi; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; @@ -16,6 +17,7 @@ import javax.annotation.Resource; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; +import java.util.Map; /** * @author there @@ -86,4 +88,12 @@ public class OptimizePlanController { return CommonResult.success(optimizePlanParam); } + + @GetMapping("/getLabelDataSourceValue") + @Operation(summary = "获取标签数据源value") + @PreAuthorize("@ss.hasPermission('executor:optimize-plate:create')") + public CommonResult> getLabelDataSourceValue(@Valid GetSourceDataReq req ) { + return CommonResult.success( optimizePlanService.getLabelDataSourceValue(req)); + + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java new file mode 100644 index 000000000..7e9c89785 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/GetSourceDataReq.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author Beal + */ +@Data +@Schema(description = "") +public class GetSourceDataReq { + @Schema(description = "生产单id") + @NotNull(message = "生产单id不能空") + private Long orderId; + + @Schema(description = "排单id") + private Long planId; + + @Schema(description = "数据源id") + @NotNull(message = "数据源id不能空") + private Long dataSourceId; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index f700e0880..381bcd79a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -17,6 +17,7 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; /** * 生产单表 order_{N} Mapper @@ -88,4 +89,5 @@ public interface OrderMapper extends BaseMapperX { return selectList(wrapper); } + Map selectDynamicSqlString(String sql); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/rpc/config/RpcConfiguration.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/rpc/config/RpcConfiguration.java index 92d87991d..e316c4848 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/rpc/config/RpcConfiguration.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/framework/rpc/config/RpcConfiguration.java @@ -1,6 +1,7 @@ package com.cf.imes.module.executor.framework.rpc.config; import com.cf.imes.module.infra.api.file.FileApi; +import com.cf.imes.module.system.api.dataSource.DataSourceApi; import com.cf.imes.module.system.api.machine.MachineApi; import com.cf.imes.module.system.api.user.AdminUserApi; import com.cf.imes.module.system.api.dict.DictDataApi; @@ -11,6 +12,6 @@ import org.springframework.context.annotation.Configuration; * @author there */ @Configuration(proxyBeanMethods = false) -@EnableFeignClients(clients = {AdminUserApi.class, MachineApi.class, DictDataApi.class, FileApi.class}) +@EnableFeignClients(clients = {AdminUserApi.class, MachineApi.class, DictDataApi.class, FileApi.class, DataSourceApi.class}) public class RpcConfiguration { } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java index e80f34025..48c7fdb75 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanService.java @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.service.optimizeplan; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import java.util.List; +import java.util.Map; public interface OptimizePlanService { List getPlateListByPlanId(Long planId); @@ -16,4 +17,6 @@ public interface OptimizePlanService { OptimizeParamResVO getOptimizeParam(Long planId); OptimizeParamRespVO getOptimizePlanParam(Long planId); + + Map getLabelDataSourceValue(GetSourceDataReq req); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 82306d87c..ce4be8cba 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -17,6 +17,7 @@ import com.cf.imes.module.executor.dal.dataobject.remainplaten.OutlineDTO; import com.cf.imes.module.executor.dal.dataobject.remainplaten.PointDTO; import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO; import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; +import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper; @@ -24,6 +25,7 @@ import com.cf.imes.module.executor.util.RandomUtils; import com.cf.imes.module.executor.util.RectangleChecker; import com.cf.imes.module.infra.api.file.FileApi; import com.cf.imes.module.infra.api.file.dto.FileCreateReqDTO; +import com.cf.imes.module.system.api.dataSource.DataSourceApi; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.springframework.stereotype.Service; @@ -61,6 +63,12 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { @Resource private GoodsMapper goodsMapper; + @Resource + private DataSourceApi dataSourceApi; + + @Resource + private OrderMapper orderMapper; + @Override public List getPlateListByPlanId(Long planId) { return planMapper.selectPlateListByPlanId(planId); @@ -226,5 +234,11 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { return optimizePlanParam; } + @Override + public Map getLabelDataSourceValue(GetSourceDataReq req) { + String sqlStr = dataSourceApi.getSqlById(req.getDataSourceId()).getCheckedData(); + return orderMapper.selectDynamicSqlString(String.format(sqlStr, req.getOrderId())); + } + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 28a429977..da90f0fa5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -12,4 +12,8 @@ ${ew.customSqlSegment} group by orderId, p.id + + \ No newline at end of file diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dataSource/DataSourceApi.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dataSource/DataSourceApi.java new file mode 100644 index 000000000..02b7127ab --- /dev/null +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/dataSource/DataSourceApi.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.system.api.dataSource; + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.module.system.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @author Beal + */ +@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory = +@Tag(name = "RPC 服务 - 数据源") +public interface DataSourceApi { + + String PREFIX = ApiConstants.PREFIX + "/dataSource"; + + @GetMapping(PREFIX + "/getSqlById") + @Operation(summary = "获得数据源sql") + CommonResult getSqlById(@RequestParam(value = "id") Long id); +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/datasource/DataSourceApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/datasource/DataSourceApiImpl.java new file mode 100644 index 000000000..068a4273b --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/datasource/DataSourceApiImpl.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.system.api.datasource; + +import com.cf.imes.framework.common.exception.ErrorCode; +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.module.system.api.dataSource.DataSourceApi; +import com.cf.imes.module.system.dal.dataobject.datasource.DataSourceDO; +import com.cf.imes.module.system.dal.mysql.datasource.DataSourceMapper; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Objects; + +import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; + +@RestController +public class DataSourceApiImpl implements DataSourceApi { + + @Resource + private DataSourceMapper dataSourceMapper; + + @Override + public CommonResult getSqlById(Long id) { + DataSourceDO dataSourceDO = dataSourceMapper.selectById(id); + if(Objects.isNull(dataSourceDO)) { + throw exception(new ErrorCode(2133,"数据源不存在")); + } + return CommonResult.success(dataSourceDO.getSqlStr()) ; + } +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourcePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourcePageReqVO.java index 517ac8913..cc2f663dd 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourcePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourcePageReqVO.java @@ -19,7 +19,7 @@ public class DataSourcePageReqVO extends PageParam { private String name; @Schema(description = "sql") - private String sql; + private String sqlStr; @Schema(description = "数据源类型", example = "2") private Integer type; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourceRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourceRespVO.java index 2362e2eb3..51c7312af 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourceRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/datasource/vo/DataSourceRespVO.java @@ -24,7 +24,7 @@ public class DataSourceRespVO { @Schema(description = "sql", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("sql") - private String sql; + private String sqlStr; @Schema(description = "数据源类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("数据源类型") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/datasource/DataSourceDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/datasource/DataSourceDO.java index e97146753..e86fad02a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/datasource/DataSourceDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/datasource/DataSourceDO.java @@ -34,7 +34,7 @@ public class DataSourceDO extends BaseDO { /** * sql */ - private String sql; + private String sqlStr; /** * 数据源类型 */ diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/datasource/DataSourceMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/datasource/DataSourceMapper.java index 098e7dc7a..f6f2abb80 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/datasource/DataSourceMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/datasource/DataSourceMapper.java @@ -20,7 +20,7 @@ public interface DataSourceMapper extends BaseMapperX { default PageResult selectPage(DataSourcePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(DataSourceDO::getName, reqVO.getName()) - .eqIfPresent(DataSourceDO::getSql, reqVO.getSql()) + .eqIfPresent(DataSourceDO::getSqlStr, reqVO.getSqlStr()) .eqIfPresent(DataSourceDO::getType, reqVO.getType()) .betweenIfPresent(DataSourceDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(DataSourceDO::getId));