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 1bd016630..54ba2ffc0 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 @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.controller.admin.plan; import cn.hutool.core.util.RandomUtil; 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.dto.Metrial; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.module.executor.service.optimizeplan.OptimizePlanService; import com.cf.imes.module.executor.util.RandomUtils; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import java.util.ArrayList; import java.util.List; /** @@ -77,14 +79,15 @@ public class OptimizePlanController { } @GetMapping("/getOptimizePlanParam") - @Operation(summary = "获取优化排单参数 (未完成)") + @Operation(summary = "获取优化排单参数 (mock)") @PreAuthorize("@ss.hasPermission('executor:optimize-plate:create')") @Parameter(name = "planId", description = "排单id", required = false) public CommonResult getOptimizePlanParam (@RequestParam (required = false) Long planId) { - OptimizeParamRespVO data = RandomUtils.randomPojo(OptimizeParamRespVO.class); - return CommonResult.success(data); + /* OptimizeParamRespVO data = RandomUtils.randomPojo(OptimizeParamRespVO.class); + return CommonResult.success(data);*/ //todo - //return CommonResult.success(optimizePlanService.getOptimizePlanParam(planId)); + OptimizeParamRespVO optimizePlanParam = optimizePlanService.getOptimizePlanParam(planId); + return CommonResult.success(optimizePlanParam); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OptimizeParamRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OptimizeParamRespVO.java index 6a4400764..c3b9349cc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OptimizeParamRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OptimizeParamRespVO.java @@ -5,8 +5,10 @@ import com.cf.imes.module.executor.controller.admin.plan.dto.Metrial; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.time.LocalDateTime; import java.util.Date; @@ -20,6 +22,8 @@ import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT */ @Data @Builder +@AllArgsConstructor +@NoArgsConstructor public class OptimizeParamRespVO { @Schema(description = "排单id") private Long planId; 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 5228276a4..e90c10493 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 @@ -1,11 +1,14 @@ package com.cf.imes.module.executor.service.optimizeplan; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; +import com.cf.imes.module.executor.controller.admin.plan.dto.Metrial; import com.cf.imes.module.executor.controller.admin.plan.vo.*; +import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailVO; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; @@ -18,6 +21,7 @@ import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; 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; +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; @@ -205,6 +209,21 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { OptimizeParamRespVO optimizePlanParam = planMapper.getOptimizePlanParam(planId); + if(Objects.isNull(optimizePlanParam)) { + return RandomUtils.randomPojo(OptimizeParamRespVO.class); + } + //暂时先mock + ArrayList list = new ArrayList<>(); + list.add(RandomUtils.randomPojo(Metrial.class)); + list.add(RandomUtils.randomPojo(Metrial.class)); + ArrayList plateDetailVOS = new ArrayList<>(); + plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class)); + plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class)); + plateDetailVOS.add(RandomUtils.randomPojo(PlateDetailVO.class)); + if( CollectionUtil.isNotEmpty(optimizePlanParam.getPlateList())) { + optimizePlanParam.getPlateList().get(0).setPlateDetailList(plateDetailVOS); + } + optimizePlanParam.setMetrialList(list); return optimizePlanParam; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml index 46ab15c25..3dc647fc5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml @@ -20,25 +20,26 @@ - + - - - + + - - - + + + - - - - - + + + + + + + @@ -54,21 +55,58 @@ + - - + - + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java index e22bcdc3b..c14922b09 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineTemplateController.java @@ -125,4 +125,12 @@ public class MachineTemplateController { return success(machineTemplateService.auth(vo)); } + @GetMapping("auth-template-page") + @Operation(summary = "用户模板授权分页列表") + @PreAuthorize("@ss.hasPermission('machine-template::query')") + public CommonResult> authTemplatePage(AuthTemplatePage page) { + return success(machineTemplateService.authTemplatePage(page)); + } + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplatePage.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplatePage.java new file mode 100644 index 000000000..d96f2dedf --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplatePage.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.system.controller.admin.machine.vo; + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +/** + * @author Beal + */ +@Data +public class AuthTemplatePage extends PageParam { + @Schema(description = "组织id") + private Long organId; + @Schema(description = "用户昵称") + private String nickname; + @Schema(description = "机台模板名称") + private String templateName; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplateResp.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplateResp.java new file mode 100644 index 000000000..fe0708f3f --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AuthTemplateResp.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.system.controller.admin.machine.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author Beal + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AuthTemplateResp { + @Schema(description = "组织id") + private Long organId; + @Schema(description = "组织名称") + private String organName; + @Schema(description = "用户id") + private Long userId; + @Schema(description = "用户昵称") + private String nickname; + @Schema(description = "机台模板列表") + private List authTemplateList; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AutoTemplateVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AutoTemplateVO.java new file mode 100644 index 000000000..d6a2a409d --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/AutoTemplateVO.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.system.controller.admin.machine.vo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author Beal + */ +@Data +public class AutoTemplateVO { + @Schema(description = "机台模板id") + private Long templateId; + @Schema(description = "机台模板名称") + private String templateName; + + @JsonIgnore + private Long userId; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineAuthVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineAuthVO.java index 0e6280468..f133c287f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineAuthVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineAuthVO.java @@ -14,6 +14,5 @@ public class MachineAuthVO { @NotNull(message = "用户id不能空") private Long userId; - @NotEmpty(message = "机台配置id不能空") private List machinesIds; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/UserMachineDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/UserMachineDO.java index c1b5a58d4..a6c6b2153 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/UserMachineDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/UserMachineDO.java @@ -20,5 +20,4 @@ public class UserMachineDO { private Long id; private Long userId; private Long machineId; - private Long organId; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java index 791983eb7..34b63e578 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machinetemplate/MachineTemplateMapper.java @@ -1,14 +1,21 @@ package com.cf.imes.module.system.dal.mysql.machinetemplate; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplatePage; +import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplateResp; +import com.cf.imes.module.system.controller.admin.machine.vo.AutoTemplateVO; import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; +import java.util.Map; /** * @author there @@ -24,4 +31,8 @@ public interface MachineTemplateMapper extends BaseMapperX { .betweenIfPresent(MachineTemplateDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(MachineTemplateDO::getCreateTime)); } + + Page selectAuthTemplatePage(@Param("page") IPage authTemplateRespPage, @Param("vo") AuthTemplatePage page); + + List selectAuthTemplateList(Map map); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java index e3276d6c2..60949aadc 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateService.java @@ -44,4 +44,6 @@ public interface MachineTemplateService { DrillTemplateRespVO getDefaultDrill(); Map> getMachineTemplateTree(); + + PageResult authTemplatePage(AuthTemplatePage page); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java index 667efd6db..5c5ff3fcb 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java @@ -10,6 +10,9 @@ import co.elastic.clients.elasticsearch.core.DeleteByQueryRequest; import co.elastic.clients.elasticsearch.core.SearchRequest; import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.es.core.dal.ESDocument; @@ -23,8 +26,10 @@ import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.DrillTemplateMachineDO; import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO; +import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO; import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper; import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -257,6 +262,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { return map; } + @Override + public PageResult authTemplatePage(AuthTemplatePage page) { + Page respPage = new Page<>(page.getPageNo(), page.getPageSize()); + Page pageRes = machineTemplateMapper.selectAuthTemplatePage(respPage, page); + return new PageResult<>(pageRes.getRecords(),pageRes.getTotal()); + } + @Override public Boolean deleteCuttingTemplate(Long id) { MachineTemplateDO templateDO = machineTemplateMapper.selectById(id); @@ -301,14 +313,16 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { @Transactional(rollbackFor = Exception.class) public Boolean auth(MachineAuthVO vo) { userMachineMapper.delete(new LambdaQueryWrapperX().eq(UserMachineDO::getUserId, vo.getUserId())); - ArrayList userMachineDOS = new ArrayList<>(); - for (Long machinesId : vo.getMachinesIds()) { - userMachineDOS.add(UserMachineDO.builder() - .userId(vo.getUserId()) - .machineId(machinesId) - .build()); + if(CollectionUtil.isNotEmpty(vo.getMachinesIds())) { + ArrayList userMachineDOS = new ArrayList<>(); + for (Long machinesId : vo.getMachinesIds()) { + userMachineDOS.add(UserMachineDO.builder() + .userId(vo.getUserId()) + .machineId(machinesId) + .build()); + } + userMachineMapper.insertBatch(userMachineDOS); } - userMachineMapper.insertBatch(userMachineDOS); return Boolean.TRUE; } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineTemplateMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineTemplateMapper.xml new file mode 100644 index 000000000..00991ffdf --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/MachineTemplateMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file