From eb0f511d8b5da2a18a0c5866317f7fdc9d4bb64b Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Tue, 3 Sep 2024 15:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=8F=B0=E6=8E=88=E6=9D=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3-=E6=96=B0=E9=9C=80=E6=B1=82=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/plan/PlanServiceImpl.java | 5 - .../admin/machine/MachineAuthController.java | 37 ++--- .../machine/vo/CuttingTemplateSaveReqVO.java | 1 - .../machine/vo/MachineBrandModelRespVO.java | 4 +- .../admin/machine/vo/MachineOrgAuthReq.java | 28 +++- .../admin/machine/vo/OrganMachinePage.java | 6 +- .../admin/machine/vo/OrganMachineResp.java | 35 +++-- .../admin/machine/vo/OrganMachineVO.java | 18 +-- .../dataobject/machine/MachineLimitDO.java | 44 ++++-- .../dal/mysql/machine/MachineBrandMapper.java | 2 + .../dal/mysql/machine/MachineLimitMapper.java | 8 + .../MachineTemplateMapper.java | 1 + .../system/dal/mysql/organ/OrganMapper.java | 7 + .../service/machine/MachineService.java | 13 +- .../service/machine/MachineServiceImpl.java | 145 ++++++++++++------ .../machine/MachineTemplateServiceImpl.java | 74 ++++----- .../service/organ/OrganServiceImpl.java | 14 ++ .../mapper/machine/MachineBrandMapper.xml | 14 ++ .../mapper/machine/MachineLimitMapper.xml | 33 ++++ 19 files changed, 334 insertions(+), 155 deletions(-) create mode 100644 cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineLimitMapper.xml diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 13c00c44e..c7dcec725 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -610,11 +610,6 @@ public class PlanServiceImpl implements PlanService { // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 List goodsDOS = goodsMapper.selectListByGoodsId(pageReqVO.getGoodsId(), getUserOrganId()); -// List orderIds = new ArrayList<>(); -// if(pageReqVO.getGoodsId() != null) { -// List goodsDOS = goodsMapper.selectListByGoodsId(pageReqVO.getGoodsId(), getUserOrganId()); -// orderIds = goodsDOS.stream().map(GoodsDO::getOrderId).toList(); -// } QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineAuthController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineAuthController.java index 881814206..f4dab90bc 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineAuthController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/MachineAuthController.java @@ -3,7 +3,6 @@ package com.cf.imes.module.system.controller.admin.machine; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.module.system.controller.admin.machine.vo.*; -import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import com.cf.imes.module.system.service.machine.MachineService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -13,7 +12,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; -import java.util.stream.Collectors; +import java.util.Map; import static com.cf.imes.framework.common.pojo.CommonResult.success; @@ -28,8 +27,8 @@ public class MachineAuthController { @Resource private MachineService machineService; - @PutMapping("insert-organ-auth") - @Operation(summary = "组织机台授权新增") + @PostMapping("insert-organ-auth") + @Operation(summary = "组织机台授权信息更新") @PreAuthorize("@ss.hasPermission('machine-auth::update')") public CommonResult auth(@RequestBody MachineOrgAuthReq vo) { return success(machineService.auth(vo)); @@ -43,27 +42,29 @@ public class MachineAuthController { } @GetMapping("organ-by-organId") - @Operation(summary = "根据组织id查询组织机台授权") + @Operation(summary = "根据组织ID查询已经授权的机台ID") @PreAuthorize("@ss.hasPermission('machine-auth::query')") @Parameter(name = "organId", description = "组织id", required = true, example = "1") - public CommonResult organTemplateByOrganId(@RequestParam Long organId ) { + public CommonResult> organTemplateByOrganId(@RequestParam Long organId ) { return success(machineService.organMachineByOrganId(organId)); } - @GetMapping("page-machine-auth") - @Operation(summary = "授权机台分页") + @GetMapping("select-machine-auth") + @Operation(summary = "查询机台授权列表") @PreAuthorize("@ss.hasPermission('machine-auth::query')") - public CommonResult> pageTemplateAuth(MachinePageReqVO pageParam) { - PageResult page = machineService.page(pageParam); - List list = page.getList().stream().map(e->MachineAuthResp.builder() - .id(e.getId()) - .machineType(e.getMachineType()) - .machineName(e.getName()) - .organId(e.getOrganId()) - .build() - ).collect(Collectors.toList()); + public CommonResult>> getTemplateAuth(MachinePageReqVO pageParam) { - return success(new PageResult(list, page.getTotal())); + return success(machineService.getTemplateAuth(pageParam)); + +// List list = page.getList().stream().map(e->MachineAuthResp.builder() +// .id(e.getId()) +// .machineType(e.getMachineType()) +// .machineName(e.getName()) +// .organId(e.getOrganId()) +// .build() +// ).collect(Collectors.toList()); +// +// return success(new PageResult(list, page.getTotal())); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java index 58a8d6ca0..de5438c17 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingTemplateSaveReqVO.java @@ -31,7 +31,6 @@ public class CuttingTemplateSaveReqVO { @Schema(description = "引用的品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") -// @NotNull(message = "品牌ID") private Long brandId; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java index b1273fafb..ac857145f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineBrandModelRespVO.java @@ -19,8 +19,8 @@ public class MachineBrandModelRespVO { private String brand; -// @Schema(description = "机台的型号-即机台的名称") -// private List name; + @Schema(description = "机台类别") + private Integer machineType; @Schema(description = "机台的型号-即机台的名称") private List machineSimpleRespVOS; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineOrgAuthReq.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineOrgAuthReq.java index 6af97f83b..11ac6ed2e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineOrgAuthReq.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/MachineOrgAuthReq.java @@ -12,10 +12,32 @@ import java.util.List; @Data public class MachineOrgAuthReq { - @Schema(description = "组织id") + @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED) private Long organId; - @Schema(description = "权限列表") - private List machineAuthList; + + + @Schema(description = "开料机授权数量") + private Integer cutLimit; + + + @Schema(description = "钻孔机授权数量") + private Integer drillLimit; + + + @Schema(description = "贴标机授权数量") + private Integer labelLimit; + + + @Schema(description = "裁板锯授权数量") + private Integer sawLimit; + + + @Schema(description = "封边机授权数量") + private Integer sealedgeLimit; + + + @Schema(description = "授权的机台ID") + private List machineAuthIds; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java index a376a6778..0c46c5c5f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachinePage.java @@ -9,8 +9,10 @@ import lombok.Data; */ @Data public class OrganMachinePage extends PageParam { - @Schema(description = "组织id") - private Long organId; + + @Schema(description = "组织名称") + private String organName; + @Schema(description = "机台名称") private String machineName; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineResp.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineResp.java index 8bbba4f59..15ab134ba 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineResp.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineResp.java @@ -1,18 +1,11 @@ package com.cf.imes.module.system.controller.admin.machine.vo; -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.util.Date; -import java.util.List; - -import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT; - /** * @author Beal */ @@ -21,13 +14,31 @@ import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT @AllArgsConstructor @NoArgsConstructor public class OrganMachineResp { + @Schema(description = "组织id") private Long organId; + @Schema(description = "组织名称") private String organName; - @Schema(description = "更新时间") - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT) - private Date updateTime; - @Schema(description = "机台模板列表") - private List authMachineList; + + + @Schema(description = "开料机授权数量") + private Integer cutLimit; + + + @Schema(description = "钻孔机授权数量") + private Integer drillLimit; + + + @Schema(description = "贴标机授权数量") + private Integer labelLimit; + + + @Schema(description = "裁板锯授权数量") + private Integer sawLimit; + + + @Schema(description = "封边机授权数量") + private Integer sealedgeLimit; + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineVO.java index 09ef11ba9..41c3fb728 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/OrganMachineVO.java @@ -1,6 +1,5 @@ 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; @@ -9,19 +8,10 @@ import lombok.Data; */ @Data public class OrganMachineVO { - @Schema(description = "机台id") - private Long machineId; - @Schema(description = "机台名称") - private String machineName; - @Schema(description = "机台类型") - private Integer machineType; - @Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置") - private Boolean showPriorFacing; - @Schema(description = "双工位") - private Boolean showDualWorkstation; - @Schema(description = "自动贴标") - private Boolean showAutoNotePrinter; - @JsonIgnore + + @Schema(description = "组织ID") private Long organId; + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineLimitDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineLimitDO.java index bc3b89f48..f07e0080d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineLimitDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/machine/MachineLimitDO.java @@ -2,13 +2,12 @@ package com.cf.imes.module.system.dal.dataobject.machine; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDateTime; - /** * @author Beal */ @@ -17,22 +16,43 @@ import java.time.LocalDateTime; @Builder @AllArgsConstructor @NoArgsConstructor -public class MachineLimitDO { +public class MachineLimitDO extends BaseDO { + @TableId - private Long id; private Long organId; - private Long machineId; - private LocalDateTime createTime; + + /** - * 加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置 + * 开料机授权数量 */ - private Boolean showPriorFacing; + private Integer cutLimit; + + /** - * 双工位 + * 钻孔机授权数量 */ - private Boolean showDualWorkstation; + private Integer drillLimit; + /** - * 自动贴标 + * 贴标机授权数量 */ - private Boolean showAutoNotePrinter; + private Integer labelLimit; + + /** + * 裁板锯授权数量 + */ + private Integer sawLimit; + + + /** + * 封边机授权数量 + */ + private Integer sealedgeLimit; + + + /** + * 机台授权列表 + */ + private String setting; + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java index de50e299e..390fa3e8d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineBrandMapper.java @@ -32,4 +32,6 @@ public interface MachineBrandMapper extends BaseMapperX { List selectMachineList(@Param("type") Integer type); + List selectMachineNoDefault(); + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineLimitMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineLimitMapper.java index 40b616c76..2065a3d9c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineLimitMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/machine/MachineLimitMapper.java @@ -1,12 +1,20 @@ package com.cf.imes.module.system.dal.mysql.machine; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.system.controller.admin.machine.vo.OrganMachinePage; +import com.cf.imes.module.system.controller.admin.machine.vo.OrganMachineResp; import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author Beal */ @Mapper public interface MachineLimitMapper extends BaseMapperX { + + + IPage selectOrganMachinePage(@Param("page") IPage page,@Param("machinePage") OrganMachinePage machinePage); + } 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 752ae3c5e..6a15fdb05 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 @@ -70,4 +70,5 @@ public interface MachineTemplateMapper extends BaseMapperX { .eq(MachineTemplateDO::getMachineType,machineType) .eq(MachineTemplateDO::getName,name)); } + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java index b629790f2..b6240f93d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/organ/OrganMapper.java @@ -114,4 +114,11 @@ public interface OrganMapper extends BaseMapperX { .eq(OrganizationDO::getDeleted,false) .lt(OrganizationDO::getExpireTime,alertDay)); } + default List selectOrganListByName(String organName) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrganizationDO::getDeleted,false) + .likeIfPresent(OrganizationDO::getName,organName) + .select(OrganizationDO::getId)); + } + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java index ae54c358a..b50653db2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineService.java @@ -1,12 +1,13 @@ package com.cf.imes.module.system.service.machine; -import java.util.*; - -import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import javax.validation.Valid; +import java.util.Collection; +import java.util.List; +import java.util.Map; /** * 机台 Service 接口 @@ -72,11 +73,15 @@ public interface MachineService { PageResult organMachinePage(OrganMachinePage page); - OrganMachineResp organMachineByOrganId(Long organId); + List organMachineByOrganId(Long organId); PageResult page(MachinePageReqVO pageParam); List simpleList(Long organId,Long type); List getBrandAndModel(Integer type); + + Map> getTemplateAuth(MachinePageReqVO pageParam); + + } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java index f3b8b79f4..926e387ef 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java @@ -7,7 +7,9 @@ import co.elastic.clients.elasticsearch._types.query_dsl.TermQuery; 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.extension.plugins.pagination.Page; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.MachineTypeEnum; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.json.JsonUtils; @@ -316,42 +318,73 @@ public class MachineServiceImpl implements MachineService { @Override public Boolean auth(MachineOrgAuthReq vo) { - machineLimitMapper.delete(new LambdaQueryWrapperX().eq(MachineLimitDO::getOrganId, vo.getOrganId())); - List machineAuthList = vo.getMachineAuthList(); - - if(CollectionUtil.isNotEmpty(machineAuthList)) { - List organMachineDOS = new ArrayList<>(); - LocalDateTime now = LocalDateTime.now(); - for (MachineAuth machineAuth : machineAuthList) { - organMachineDOS.add( - MachineLimitDO.builder() - .createTime(now) - .organId(vo.getOrganId()) - .machineId(machineAuth.getMachineId()) - .showDualWorkstation(machineAuth.getShowDualWorkstation()) - .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) - .showPriorFacing(machineAuth.getShowPriorFacing()) - .build() - ); - - } - machineLimitMapper.insertBatch(organMachineDOS); + OrganizationDO tenant = organMapper.selectById(vo.getOrganId()); + if (tenant == null) { + throw exception(ORGAN_NOT_EXISTS); } +// machineLimitMapper.delete(new LambdaQueryWrapperX().eq(MachineLimitDO::getOrganId, vo.getOrganId())); + +// List machineAuthList = vo.getMachineAuthList(); + +// if(CollectionUtil.isNotEmpty(machineAuthList)) { +// List organMachineDOS = new ArrayList<>(); +// LocalDateTime now = LocalDateTime.now(); +// for (MachineAuth machineAuth : machineAuthList) { +// organMachineDOS.add( +// MachineLimitDO.builder() +// .createTime(now) +// .organId(vo.getOrganId()) +//// .machineId(machineAuth.getMachineId()) +//// .showDualWorkstation(machineAuth.getShowDualWorkstation()) +//// .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) +//// .showPriorFacing(machineAuth.getShowPriorFacing()) +// .build() +// ); +// +// } +// machineLimitMapper.insertBatch(organMachineDOS); +// } + + MachineLimitDO machineLimitDO = MachineLimitDO.builder() + .organId(vo.getOrganId()) + .cutLimit(vo.getCutLimit()) + .drillLimit(vo.getDrillLimit()) + .labelLimit(vo.getLabelLimit()) + .sawLimit(vo.getSawLimit()) + .sealedgeLimit(vo.getSealedgeLimit()) + .setting(vo.getMachineAuthIds().toString()) + .build(); + + + + machineLimitMapper.updateById(machineLimitDO); return Boolean.TRUE; } @Override - public PageResult organMachinePage(OrganMachinePage page) { - Page respPage = new Page<>(page.getPageNo(), page.getPageSize()); - Page pageRes = machineMapper.selectOrganMachinePage(respPage, page); - return new PageResult<>(pageRes.getRecords(), pageRes.getTotal()); + public PageResult organMachinePage(OrganMachinePage machinePage) { + + PageDTO page = new PageDTO<>(machinePage.getPageNo(), machinePage.getPageSize()); + + + IPage packRespVOS = machineLimitMapper.selectOrganMachinePage(page, machinePage); + + + return new PageResult<>(packRespVOS.getRecords(), packRespVOS.getTotal()); + } @Override - public OrganMachineResp organMachineByOrganId(Long organId) { - return machineMapper.selectOrganMachine(organId); + public List organMachineByOrganId(Long organId) { + + String setting = machineLimitMapper.selectById(organId).getSetting(); + + return JSON.parseArray(setting).toJavaList(Integer.class); + +// return machineMapper.selectOrganMachine(organId); + } @Override @@ -385,29 +418,24 @@ public class MachineServiceImpl implements MachineService { @Override public List getBrandAndModel(Integer type) { -// List machineBrandDOS = machineBrandMapper.selectListByType(type); return machineBrandMapper.selectMachineList(type); -// List machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class); -// -// -// List machineDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX() -// .eq(MachineTemplateDO::getDeleted,false) -// .eqIfPresent(MachineTemplateDO::getMachineType, type)); -// -// machineBrandModelRespVOS.forEach(v-> -// v.setName(machineDOS.stream().filter(f->f.getBrandId().equals(v.getId())).map(MachineTemplateDO::getName).toList()) -// ); + + } -// List machineVOS = BeanUtils.toBean(machineDOS, MachineBrandModelRespVO.class); -// -// -// Map> map = machineVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getBrand)); + + @Override + public Map> getTemplateAuth(MachinePageReqVO pageParam) { + + + List machineBrandModelRespVOS = machineBrandMapper.selectMachineNoDefault(); + + return machineBrandModelRespVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getMachineType)); + -// return machineBrandModelRespVOS; } @@ -425,11 +453,38 @@ public class MachineServiceImpl implements MachineService { } } - private Boolean validateBrandAndModel(String brand, String model){ + // 校验当前组织当前类型的机台是否达到最大创建数量 + private void validateMachineNum(Integer machineType, Long organId){ + Integer machineNum = machineMapper.selectByOrganId(machineType,organId).size()+1; + MachineLimitDO machineLimitDO = machineLimitMapper.selectById(organId); + + Integer authMachineNum = 0; + switch (machineType){ + + case 1 : + authMachineNum = machineLimitDO.getCutLimit(); + break; + case 2 : + authMachineNum = machineLimitDO.getDrillLimit(); + break; + case 3 : + authMachineNum = machineLimitDO.getSawLimit(); + break; + case 4 : + authMachineNum = machineLimitDO.getLabelLimit(); + break; + case 5 : + authMachineNum = machineLimitDO.getSealedgeLimit(); + break; + + } + + if(machineNum >= authMachineNum){ + throw exception(MACHINE_NUM_ERROR); + } - return true; } @Override 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 3059912ee..af1b1c902 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 @@ -384,23 +384,23 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { @Override public Boolean updateTemplateAuth(MachineOrgAuthReq vo) { - List machineAuthList = vo.getMachineAuthList(); - - if(!machineAuthList.isEmpty()) { - List machineTemplateLimitDOS = new ArrayList<>(); - - for (MachineAuth machineAuth : machineAuthList) { - - machineTemplateLimitDOS.add(MachineTemplateLimitDO.builder() - .id(machineAuth.getMachineId()) - .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) - .showDualWorkstation(machineAuth.getShowDualWorkstation()) - .showPriorFacing(machineAuth.getShowPriorFacing()) - .build()); - } - - machineTemplateLimitMapper.updateBatch(machineTemplateLimitDOS); - } +// List machineAuthList = vo.getMachineAuthList(); +// +// if(!machineAuthList.isEmpty()) { +// List machineTemplateLimitDOS = new ArrayList<>(); +// +// for (MachineAuth machineAuth : machineAuthList) { +// +// machineTemplateLimitDOS.add(MachineTemplateLimitDO.builder() +// .id(machineAuth.getMachineId()) +// .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) +// .showDualWorkstation(machineAuth.getShowDualWorkstation()) +// .showPriorFacing(machineAuth.getShowPriorFacing()) +// .build()); +// } +// +// machineTemplateLimitMapper.updateBatch(machineTemplateLimitDOS); +// } return true; @@ -443,26 +443,26 @@ public class MachineTemplateServiceImpl implements MachineTemplateService { // 去掉授权删除 // machineTemplateLimitMapper.delete(new LambdaQueryWrapperX().eq(MachineTemplateLimitDO::getOrganId, vo.getOrganId())); - List machineAuthList = vo.getMachineAuthList(); - - if(CollectionUtil.isNotEmpty(machineAuthList)) { - List organMachineDOS = new ArrayList<>(); - LocalDateTime now = LocalDateTime.now(); - for (MachineAuth machineAuth : machineAuthList) { - organMachineDOS.add( - MachineTemplateLimitDO.builder() - .createTime(now) - .organId(vo.getOrganId()) - .machineId(machineAuth.getMachineId()) - .showDualWorkstation(machineAuth.getShowDualWorkstation()) - .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) - .showPriorFacing(machineAuth.getShowPriorFacing()) - .build() - ); - - } - machineTemplateLimitMapper.insertBatch(organMachineDOS); - } +// List machineAuthList = vo.getMachineAuthList(); +// +// if(CollectionUtil.isNotEmpty(machineAuthList)) { +// List organMachineDOS = new ArrayList<>(); +// LocalDateTime now = LocalDateTime.now(); +// for (MachineAuth machineAuth : machineAuthList) { +// organMachineDOS.add( +// MachineTemplateLimitDO.builder() +// .createTime(now) +// .organId(vo.getOrganId()) +// .machineId(machineAuth.getMachineId()) +// .showDualWorkstation(machineAuth.getShowDualWorkstation()) +// .showAutoNotePrinter(machineAuth.getShowAutoNotePrinter()) +// .showPriorFacing(machineAuth.getShowPriorFacing()) +// .build() +// ); +// +// } +// machineTemplateLimitMapper.insertBatch(organMachineDOS); +// } return Boolean.TRUE; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java index 16c62f3c8..d2c2a579a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java @@ -25,10 +25,12 @@ import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganPageReqVO; import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSaveReqVO; import com.cf.imes.module.system.controller.admin.user.vo.user.UserSaveReqVO; import com.cf.imes.module.system.convert.organ.OrganConvert; +import com.cf.imes.module.system.dal.dataobject.machine.MachineLimitDO; import com.cf.imes.module.system.dal.dataobject.permission.MenuDO; import com.cf.imes.module.system.dal.dataobject.permission.RoleDO; import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO; import com.cf.imes.module.system.dal.dataobject.organ.TenantPackageDO; +import com.cf.imes.module.system.dal.mysql.machine.MachineLimitMapper; import com.cf.imes.module.system.dal.mysql.organ.OrganMapper; import com.cf.imes.module.system.enums.permission.RoleCodeEnum; import com.cf.imes.module.system.enums.permission.RoleTypeEnum; @@ -86,6 +88,10 @@ public class OrganServiceImpl implements OrganService { @Value("${chenfeng.organ.use-data-code:imes_prod}") private String useDataCode; + @Resource + private MachineLimitMapper machineLimitMapper; + + @Override public List getOrganIdList() { List organizationDOS = organMapper.selectList(); @@ -152,6 +158,14 @@ public class OrganServiceImpl implements OrganService { // 修改组织的管理员 organMapper.updateById(new OrganizationDO().setId(tenant.getId()).setContactUserId(userId)); }); + + + // 往组织机台授权表新增信息 + MachineLimitDO machineLimitDO = MachineLimitDO.builder() + .organId(tenant.getId()) + .build(); + machineLimitMapper.insert(machineLimitDO); + return tenant.getId(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml index fccec1e83..400ef536f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineBrandMapper.xml @@ -7,6 +7,7 @@ + @@ -34,6 +35,19 @@ where smt.deleted = false and smb.machine_type = #{type} + diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineLimitMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineLimitMapper.xml new file mode 100644 index 000000000..485132725 --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/machine/MachineLimitMapper.xml @@ -0,0 +1,33 @@ + + + + + + + \ No newline at end of file