mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
超管统计接口50%
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
package com.cf.imes.framework.common.enums;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum MachineTypeEnum {
|
||||
|
||||
|
||||
CUTTING(1, "开料设备"),
|
||||
|
||||
DRILL(2, "钻孔机设备"),
|
||||
|
||||
PANELSAW(3, "裁板锯"),
|
||||
|
||||
LABELING(4, "贴标机"),
|
||||
|
||||
BANDING(5, "封边机");
|
||||
|
||||
private Integer type;
|
||||
private String machineName;
|
||||
|
||||
|
||||
public boolean equals(Integer status) {
|
||||
return this.type .equals(status) ;
|
||||
}
|
||||
|
||||
public boolean equals(MachineTypeEnum enableStatusEnum) {
|
||||
return enableStatusEnum != null && enableStatusEnum.type .equals(this.getType()) ;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+2
-2
@@ -11,11 +11,11 @@ public interface ErrorCodeConstants {
|
||||
// ========== 生产单开料排单
|
||||
ErrorCode PLAN_NOT_EXISTS = new ErrorCode(1_001_107_000, "生产单开料排单不存在");
|
||||
|
||||
ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "排单 开料中 已开料 不予许删除");
|
||||
ErrorCode PLAN_NOT_ALLOW_DELETE = new ErrorCode(1_001_107_001, "当前排单已开料不予许删除");
|
||||
|
||||
ErrorCode PLAN_NOT_ALLOW_CANCEL = new ErrorCode(1_001_107_002, "排单 新单 不予许作废");
|
||||
|
||||
ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单已开料,禁止更改");
|
||||
ErrorCode LIST_CHANGES_ARE_PROHIBITED = new ErrorCode(1_001_107_003, "当前排单有板材已开料,禁止更改");
|
||||
|
||||
// ========== 生产单商品 TODO 补充编号 ==========
|
||||
ErrorCode GOODS_NOT_EXISTS = new ErrorCode(1_001_108_000, "生产单商品不存在");
|
||||
|
||||
+11
-16
@@ -2,7 +2,6 @@ package com.cf.imes.module.manage.service.pack;
|
||||
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
|
||||
@@ -12,7 +11,6 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.json.JsonUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PackPlateList;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackData;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
|
||||
@@ -20,13 +18,12 @@ import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.pack.OrderPrepackagedDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
|
||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper;
|
||||
@@ -34,29 +31,28 @@ import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper;
|
||||
import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper;
|
||||
import com.cf.imes.module.manage.enums.OrderPackStatusEnums;
|
||||
import com.cf.imes.module.manage.service.process.ProductionProcessServiceImpl;
|
||||
import com.cf.imes.module.manage.util.SnowflakeIdWorker3rd;
|
||||
import com.cf.imes.module.system.api.setting.SettingApi;
|
||||
import com.cf.imes.module.system.api.setting.dto.PackageConfigDTO;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
@@ -125,7 +121,7 @@ public class PackServiceImpl implements PackService {
|
||||
productionProcessMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(),order.getId());
|
||||
|
||||
if(orderDO == null){
|
||||
throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后",pageReqVO.getIsUp()?"上" : "下" );
|
||||
throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后");
|
||||
}
|
||||
|
||||
orderIds.add(orderDO.getId());
|
||||
@@ -755,7 +751,6 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
boolean autoPack = settingParse.get("autoPack").asBoolean();
|
||||
|
||||
System.out.println(autoPack);
|
||||
|
||||
String optimizeInfo = reqVO.getOptimizeInfo();
|
||||
|
||||
@@ -786,7 +781,7 @@ public class PackServiceImpl implements PackService {
|
||||
.status(OrderPackageStatusEnum.PACKAGED.getStatus())
|
||||
.build());
|
||||
prePackOptimizeInfo.getList().forEach(plate ->{
|
||||
List<String> list = plate.getList().stream().map(m -> m.getPlateNo()).toList();
|
||||
List<String> list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateNo).toList();
|
||||
list.forEach(a -> packPlateNoLists.add(PackPlateList.builder()
|
||||
.packNo(packageNo)
|
||||
.plateNo(a)
|
||||
|
||||
+3
-1
@@ -234,6 +234,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_032_001, "导入板材数据不能为空!");
|
||||
ErrorCode PLATE_EXISTS = new ErrorCode(1_002_032_002, "板材存在");
|
||||
ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_032_003, "当前板材没有选择房间和柜体,请选择");
|
||||
ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_032_004, "当前排单已有板材开料,禁止修改");
|
||||
|
||||
//=========== 板材信息 1-002-033-000 ============
|
||||
ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_032_002, "板材不存在");
|
||||
@@ -272,7 +273,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT = new ErrorCode(1_002_038_777, "当前包裹类型错误");
|
||||
ErrorCode FAILED_TO_MODIFY_THE_STATUS_OF_THE_CURRENT_PRODUCTION_ORDER = new ErrorCode(1_002_038_778, "修改当前生产单的工序状态和生产单的状态失败");
|
||||
ErrorCode NO_OPTIMIZATION_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_779, "当前订单无优化信息");
|
||||
ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_780, "已经是{}一条了,无{}一页信息");
|
||||
ErrorCode NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE = new ErrorCode(1_002_038_780, "已经是{}一条了");
|
||||
|
||||
|
||||
//=========== 应用信息 1-002-037-000 ============
|
||||
@@ -280,6 +281,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_037_001, "应用登陆失败");
|
||||
|
||||
ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误");
|
||||
ErrorCode DATA_ERR = new ErrorCode(1_002_038_002, "数据错误,需要清除数据重新导入");
|
||||
|
||||
ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_001, "余料板正在使用中,禁止修改");
|
||||
ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_002, "余料板未使用");
|
||||
|
||||
+2
-3
@@ -4,7 +4,6 @@ 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.dal.dataobject.machinetemplate.MachineTemplateDO;
|
||||
import com.cf.imes.module.system.service.machine.MachineService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -29,8 +28,8 @@ public class MachineAuthController {
|
||||
@Resource
|
||||
private MachineService machineService;
|
||||
|
||||
@PostMapping("organ-auth")
|
||||
@Operation(summary = "组织机台授权")
|
||||
@PutMapping("insert-organ-auth")
|
||||
@Operation(summary = "组织机台授权新增")
|
||||
@PreAuthorize("@ss.hasPermission('machine-auth::update')")
|
||||
public CommonResult<Boolean> auth(@RequestBody MachineOrgAuthReq vo) {
|
||||
return success(machineService.auth(vo));
|
||||
|
||||
+27
-17
@@ -2,8 +2,10 @@ 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.machinetemplate.MachineTemplateDO;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.MachineOrgAuthReq;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplatePage;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateResp;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.TemplateAutoResp;
|
||||
import com.cf.imes.module.system.service.machine.MachineTemplateService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -12,8 +14,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@@ -28,13 +28,23 @@ public class MachineTemplateAuthController {
|
||||
@Resource
|
||||
private MachineTemplateService machineTemplateService;
|
||||
|
||||
@PostMapping("organ-auth-template")
|
||||
@Operation(summary = "组织模板授权")
|
||||
@PutMapping("insert-organ-auth-template")
|
||||
@Operation(summary = "组织模板授权新增")
|
||||
@PreAuthorize("@ss.hasPermission('machine-template-auth::update')")
|
||||
public CommonResult<Boolean> auth(@RequestBody MachineOrgAuthReq vo) {
|
||||
return success(machineTemplateService.auth(vo));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("update-organ-auth-template")
|
||||
@Operation(summary = "组织模板授权修改")
|
||||
@PreAuthorize("@ss.hasPermission('machine-template-auth::update')")
|
||||
public CommonResult<Boolean> updateTemplateAuth(@RequestBody MachineOrgAuthReq vo) {
|
||||
return success(machineTemplateService.updateTemplateAuth(vo));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("organ-template-page")
|
||||
@Operation(summary = "组织模板授权分页列表")
|
||||
@PreAuthorize("@ss.hasPermission('machine-template-auth::query')")
|
||||
@@ -50,18 +60,18 @@ public class MachineTemplateAuthController {
|
||||
return success(machineTemplateService.organTemplateByOrganId(organId));
|
||||
}
|
||||
|
||||
@GetMapping("page-template-machine-auth")
|
||||
@Operation(summary = "授权机台模板分页")
|
||||
@GetMapping("organ-template-machine-auth")
|
||||
@Operation(summary = "查询机台模板授权信息")
|
||||
@Parameter(name = "organId", description = "组织id", required = true, example = "1")
|
||||
@PreAuthorize("@ss.hasPermission('machine-template-auth::query')")
|
||||
public CommonResult<PageResult<TemplateAutoResp>> pageTemplateAuth(MachinePageReqVO pageParam) {
|
||||
PageResult<MachineTemplateDO> page = machineTemplateService.page(pageParam);
|
||||
List<TemplateAutoResp> list = page.getList().stream().map(e->TemplateAutoResp.builder()
|
||||
.id(e.getId())
|
||||
.machineType(e.getMachineType())
|
||||
.templateName(e.getName())
|
||||
.build()
|
||||
).collect(Collectors.toList());
|
||||
public CommonResult<TemplateAutoResp> getTemplateAuth(@RequestParam(required = false) Long organId ) {
|
||||
return success(machineTemplateService.getTemplateAuth(organId));
|
||||
// List<TemplateAutoResp> list = page.getList().stream().map(e->TemplateAutoResp.builder()
|
||||
// .id(e.getId())
|
||||
// .machineType(e.getMachineType())
|
||||
// .templateName(e.getName())
|
||||
// .build()
|
||||
// ).collect(Collectors.toList());
|
||||
|
||||
return success(new PageResult<TemplateAutoResp>(list, page.getTotal()));
|
||||
}
|
||||
}
|
||||
|
||||
+8
-4
@@ -1,10 +1,9 @@
|
||||
package com.cf.imes.module.system.controller.admin.machine.vo;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cf.imes.framework.es.core.valid.CreateGroup;
|
||||
import com.cf.imes.framework.es.core.valid.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
@@ -43,8 +42,13 @@ public class CuttingSaveReqVO {
|
||||
// @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
// private String brand;
|
||||
|
||||
@Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String model;
|
||||
// @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
// private String model;
|
||||
|
||||
|
||||
@Schema(description = "机台的型号-机台的ID")
|
||||
private Long machineId;
|
||||
|
||||
|
||||
@Schema(description = "机台配置")
|
||||
private JSONObject machineSettingDO;
|
||||
|
||||
+6
-3
@@ -2,7 +2,6 @@ package com.cf.imes.module.system.controller.admin.machine.vo;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cf.imes.framework.es.core.valid.UpdateGroup;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -41,8 +40,12 @@ public class CuttingTemplateSaveReqVO {
|
||||
// private String brand;
|
||||
|
||||
|
||||
@Schema(description = "机台的型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
private String model;
|
||||
// @Schema(description = "机台的型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
// private String model;
|
||||
|
||||
|
||||
@Schema(description = "机台的型号-机台ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
private Long machineId;
|
||||
|
||||
|
||||
@Schema(description = "管理理后台 - 机台模板新增/修改 Request VO")
|
||||
|
||||
+5
-2
@@ -12,14 +12,17 @@ public class MachineBrandModelRespVO {
|
||||
|
||||
|
||||
@Schema(description = "机台的品牌ID")
|
||||
private Long id;
|
||||
private Long brandId;
|
||||
|
||||
|
||||
@Schema(description = "机台的品牌")
|
||||
private String brand;
|
||||
|
||||
|
||||
// @Schema(description = "机台的型号-即机台的名称")
|
||||
// private List<String> name;
|
||||
|
||||
@Schema(description = "机台的型号-即机台的名称")
|
||||
private List<String> name;
|
||||
private List<MachineSimpleRespVO> machineSimpleRespVOS;
|
||||
|
||||
}
|
||||
+9
-1
@@ -5,21 +5,29 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MachineTemplateBrandReqVO {
|
||||
|
||||
|
||||
@Schema(description = "组织ID")
|
||||
private Long organId;
|
||||
|
||||
@Schema(description = "1开料机台设备 2钻孔机台设备", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotNull(message = "1开料机台设备 2钻孔机台设备 不能为空")
|
||||
private Integer machineType;
|
||||
|
||||
@Schema(description = "机台的品牌ID")
|
||||
private Integer id;
|
||||
private Long id;
|
||||
|
||||
|
||||
@Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotNull(message = "品牌名称不能为空")
|
||||
private String brand;
|
||||
|
||||
|
||||
@Schema(description = "机台模板的授权信息")
|
||||
private List<OrganTemplateVO> organMachineVOS;
|
||||
|
||||
}
|
||||
|
||||
+6
-2
@@ -9,8 +9,12 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
public class OrganTemplatePage extends PageParam {
|
||||
@Schema(description = "组织id")
|
||||
private Long organId;
|
||||
// @Schema(description = "组织id")
|
||||
// private Long organId;
|
||||
|
||||
@Schema(description = "组织名称")
|
||||
private String organName;
|
||||
|
||||
@Schema(description = "机台模板名称")
|
||||
private String templateName;
|
||||
|
||||
|
||||
+4
-1
@@ -28,6 +28,9 @@ public class OrganTemplateResp {
|
||||
@Schema(description = "更新时间")
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "机台模板列表")
|
||||
private List<OrganTemplateVO> authTemplateList;
|
||||
private List<MachineTemplateBrandReqVO> machineTemplateBrandReqVOS;
|
||||
// @Schema(description = "机台模板列表")
|
||||
// private List<OrganTemplateVO> authTemplateList;
|
||||
}
|
||||
|
||||
+2
@@ -11,6 +11,8 @@ import lombok.Data;
|
||||
public class OrganTemplateVO {
|
||||
@Schema(description = "机台模板id")
|
||||
private Long templateId;
|
||||
@Schema(description = "机台模板品牌id")
|
||||
private Long brandId;
|
||||
@Schema(description = "机台模板名称")
|
||||
private String templateName;
|
||||
@Schema(description = "机台模板类型")
|
||||
|
||||
+76
-23
@@ -1,12 +1,15 @@
|
||||
package com.cf.imes.module.system.controller.admin.machine.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Beal
|
||||
*/
|
||||
@@ -15,26 +18,76 @@ import lombok.NoArgsConstructor;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class TemplateAutoResp {
|
||||
@Schema(description = "机台模板id")
|
||||
private Long id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Schema(description = "机台模板名称")
|
||||
private String templateName;
|
||||
/**
|
||||
* 1机台设备 2CNC设备
|
||||
*/
|
||||
@Schema(description = "机台模板类别")
|
||||
private Integer machineType;
|
||||
/**
|
||||
* 是否默认模板
|
||||
*/
|
||||
private Boolean isDefault;
|
||||
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
|
||||
private Boolean showPriorFacing = false;
|
||||
@Schema(description = "双工位")
|
||||
private Boolean showDualWorkstation = false;
|
||||
@Schema(description = "自动贴标")
|
||||
private Boolean showAutoNotePrinter = false;
|
||||
|
||||
|
||||
@Schema(description = "组织信息")
|
||||
private List<OrganSimpleRespVO> organSimpleRespVOS;
|
||||
|
||||
|
||||
@Schema(description = "机台模板的品牌信息")
|
||||
private List<MachineBrand> machineBrand;
|
||||
|
||||
|
||||
@Valid
|
||||
@Data
|
||||
public static class MachineBrand {
|
||||
|
||||
@Schema(description = "品牌ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "品牌名称")
|
||||
private String brand;
|
||||
|
||||
@Schema(description = "机台类别")
|
||||
private Integer machineType;
|
||||
|
||||
@Schema(description = "机台模板的权限信息")
|
||||
private List<MachineTemplate> machineTemplates;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Valid
|
||||
@Data
|
||||
public static class MachineTemplate {
|
||||
|
||||
@Schema(description = "机台模板ID")
|
||||
private Long id;
|
||||
|
||||
|
||||
@Schema(description = "机台模板品牌ID")
|
||||
private Long brandId;
|
||||
|
||||
|
||||
@Schema(description = "机台模板名称")
|
||||
private String name;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// @Schema(description = "机台模板id")
|
||||
// private Long id;
|
||||
//
|
||||
//
|
||||
// @Schema(description = "机台模板名称")
|
||||
// private String templateName;
|
||||
//
|
||||
//
|
||||
// @Schema(description = "机台模板类别")
|
||||
// private Integer machineType;
|
||||
//
|
||||
//
|
||||
//// private Boolean isDefault;
|
||||
//
|
||||
// @Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
|
||||
// private Boolean showPriorFacing = false;
|
||||
//
|
||||
// @Schema(description = "双工位")
|
||||
// private Boolean showDualWorkstation = false;
|
||||
//
|
||||
// @Schema(description = "自动贴标")
|
||||
// private Boolean showAutoNotePrinter = false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class MachineTemplateConvert {
|
||||
.id(reqVO.getId())
|
||||
.name(reqVO.getName())
|
||||
// .brand(reqVO.getBrand())
|
||||
.brandId(reqVO.getBrandId())
|
||||
.brandId(reqVO.getNowBrandId())
|
||||
.setting(reqVO.getSetting().toJSONString())
|
||||
.build();
|
||||
}
|
||||
|
||||
+7
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.module.system.dal.dataobject.machinetemplate;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@@ -41,4 +42,10 @@ public class MachineTemplateLimitDO {
|
||||
* 自动贴标
|
||||
*/
|
||||
private Boolean showAutoNotePrinter;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Boolean deleted;
|
||||
|
||||
}
|
||||
|
||||
+3
-2
@@ -3,9 +3,8 @@ package com.cf.imes.module.system.dal.mysql.machine;
|
||||
|
||||
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.MachineBrandModelRespVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineBrandDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -31,4 +30,6 @@ public interface MachineBrandMapper extends BaseMapperX<MachineBrandDO> {
|
||||
}
|
||||
|
||||
|
||||
List<MachineBrandModelRespVO> selectMachineList(@Param("type") Integer type);
|
||||
|
||||
}
|
||||
|
||||
+23
@@ -1,10 +1,33 @@
|
||||
package com.cf.imes.module.system.dal.mysql.machinetemplate;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.MachineTemplateBrandReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplatePage;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateResp;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface MachineTemplateLimitMapper extends BaseMapperX<MachineTemplateLimitDO> {
|
||||
|
||||
|
||||
Page<OrganTemplateResp> selectMachinePage(@Param("respPage") Page<OrganTemplateResp> respPage, @Param("page") OrganTemplatePage page);
|
||||
|
||||
|
||||
List<MachineTemplateBrandReqVO> selectMachineList(@Param("organIds") List<Long> organIds,@Param("templateName") String templateName);
|
||||
|
||||
|
||||
|
||||
|
||||
default List<MachineTemplateLimitDO> selectListByOrganId(Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<MachineTemplateLimitDO>()
|
||||
.eqIfPresent(MachineTemplateLimitDO::getDeleted,false)
|
||||
.eqIfPresent(MachineTemplateLimitDO::getOrganId,organId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+10
-3
@@ -49,16 +49,23 @@ public interface MachineTemplateMapper extends BaseMapperX<MachineTemplateDO> {
|
||||
|
||||
|
||||
|
||||
default List<MachineTemplateDO> selectByBrand(Integer id) {
|
||||
default List<MachineTemplateDO> selectByBrand(Long id) {
|
||||
return selectList(new LambdaQueryWrapperX<MachineTemplateDO>()
|
||||
.eqIfPresent(MachineTemplateDO::getBrandId,id));
|
||||
}
|
||||
|
||||
|
||||
|
||||
default MachineTemplateDO selectMachine(Long brandId, String model) {
|
||||
default MachineTemplateDO selectMachine(Long brandId, Long machineId) {
|
||||
return selectOne(new LambdaQueryWrapperX<MachineTemplateDO>()
|
||||
.eqIfPresent(MachineTemplateDO::getBrandId,brandId)
|
||||
.eqIfPresent(MachineTemplateDO::getName,model));
|
||||
.eqIfPresent(MachineTemplateDO::getId,machineId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
default List<MachineTemplateDO> selectMachineTemplate(String templateName) {
|
||||
return selectList(new LambdaQueryWrapperX<MachineTemplateDO>()
|
||||
.likeIfPresent(MachineTemplateDO::getName,templateName));
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -58,6 +58,7 @@ public interface OrganMapper extends BaseMapperX<OrganizationDO> {
|
||||
return selectList(OrganizationDO::getPackageId, packageId);
|
||||
}
|
||||
|
||||
|
||||
default Integer selectOrgCount() {
|
||||
return Math.toIntExact(selectCount(new LambdaQueryWrapperX<OrganizationDO>()
|
||||
.eq(OrganizationDO::getUpdateTime, OrderDeletedEnum.NOT_DELETED.getStatus())));
|
||||
@@ -78,4 +79,18 @@ public interface OrganMapper extends BaseMapperX<OrganizationDO> {
|
||||
}
|
||||
|
||||
Integer selectOrgSilentCount(@Param("dateTime")LocalDateTime dateTime);
|
||||
|
||||
|
||||
default List<OrganizationDO> selectOrganList(Integer status) {
|
||||
return selectList(new LambdaQueryWrapperX<OrganizationDO>()
|
||||
.eqIfPresent(OrganizationDO::getDeleted,false)
|
||||
.eqIfPresent(OrganizationDO::getStatus,status));
|
||||
}
|
||||
|
||||
|
||||
List<OrganizationDO> selectTestSQL(@Param("sql") String sql);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+94
-30
@@ -3,15 +3,15 @@ package com.cf.imes.module.system.service.machine;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.TermQuery;
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.TermsQuery;
|
||||
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.extension.plugins.pagination.Page;
|
||||
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;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.es.core.dal.ESDocument;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
@@ -23,29 +23,26 @@ import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
||||
import com.cf.imes.module.system.convert.machine.MachineConvert;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.*;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateLimitDO;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineBrandMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineLimitMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString;
|
||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
@@ -111,26 +108,91 @@ public class MachineServiceImpl implements MachineService {
|
||||
|
||||
}
|
||||
|
||||
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getModel());
|
||||
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId());
|
||||
|
||||
if(machineTemplateDO == null){
|
||||
throw exception(THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST);
|
||||
}
|
||||
// MachineTemplateLimitDO organMachineTemplateDO = machineTemplateLimitMapper.selectOne(new LambdaQueryWrapperX<MachineTemplateLimitDO>()
|
||||
//// .eq(MachineTemplateLimitDO::getMachineId, createReqVO.getTemplateId())
|
||||
// .eq(MachineTemplateLimitDO::getOrganId, loginUser.getOrganId())
|
||||
// );
|
||||
|
||||
// 插入
|
||||
MachineDO machineDO = MachineConvert.convert(createReqVO);
|
||||
// if(createReqVO.getMachineSettingDO().isEmpty()) {
|
||||
// machineDO.setSetting(machineTemplateDO.getSetting());
|
||||
// }
|
||||
|
||||
machineDO.setSetting(machineTemplateDO.getSetting());
|
||||
|
||||
machineMapper.insert(machineDO);
|
||||
|
||||
|
||||
|
||||
if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.CUTTING.getType())) {
|
||||
|
||||
// 将配置进行解压,判断该类型的机台的贴标配置是否开启
|
||||
JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
|
||||
|
||||
JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef");
|
||||
|
||||
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
|
||||
|
||||
|
||||
if(isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null){
|
||||
|
||||
// Integer autoLabelBrand = advancedConfigsRef.get("autoLabelBrand").asInt();
|
||||
|
||||
Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt();
|
||||
|
||||
// 根据型号ID查询贴标的配置信息
|
||||
MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel);
|
||||
|
||||
MachineDO labelingMachineDO = MachineDO.builder()
|
||||
.labelId(machineDO.getLabelId())
|
||||
.machineType(labelingMachineTemplateDO.getMachineType())
|
||||
.brandId(labelingMachineTemplateDO.getBrandId())
|
||||
.setting(labelingMachineTemplateDO.getSetting())
|
||||
.name("开料"+machineDO.getName()+ "-贴标机")
|
||||
.build();
|
||||
|
||||
machineMapper.insert(labelingMachineDO);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) {
|
||||
|
||||
// 将配置进行解压,判断该类型的机台的钻孔配置是否开启
|
||||
JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
|
||||
|
||||
JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef");
|
||||
|
||||
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean();
|
||||
|
||||
|
||||
if(isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null){
|
||||
|
||||
// Integer drillBrand = cuttingModuleRef.get("drillBrand").asInt();
|
||||
|
||||
Integer autoLabelModel = cuttingModuleRef.get("drillModel").asInt();
|
||||
|
||||
// 根据型号ID查询钻孔机的配置信息
|
||||
MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel);
|
||||
|
||||
MachineDO drillMachineDO = MachineDO.builder()
|
||||
.labelId(machineDO.getLabelId())
|
||||
.machineType(drillMachineTemplateDO.getMachineType())
|
||||
.brandId(drillMachineTemplateDO.getBrandId())
|
||||
.setting(drillMachineTemplateDO.getSetting())
|
||||
.name("开料"+machineDO.getName()+"钻孔机")
|
||||
.build();
|
||||
|
||||
machineMapper.insert(drillMachineDO);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// MachineLimitDO machineLimitDO = MachineLimitDO.builder()
|
||||
// .organId(loginUser.getOrganId())
|
||||
// .machineId(machineDO.getId())
|
||||
@@ -309,18 +371,20 @@ public class MachineServiceImpl implements MachineService {
|
||||
@Override
|
||||
public List<MachineBrandModelRespVO> getBrandAndModel(Integer type) {
|
||||
|
||||
List<MachineBrandDO> machineBrandDOS = machineBrandMapper.selectListByType(type);
|
||||
// List<MachineBrandDO> machineBrandDOS = machineBrandMapper.selectListByType(type);
|
||||
|
||||
return machineBrandMapper.selectMachineList(type);
|
||||
|
||||
List<MachineBrandModelRespVO> machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class);
|
||||
|
||||
|
||||
List<MachineTemplateDO> machineDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX<MachineTemplateDO>()
|
||||
.eqIfPresent(MachineTemplateDO::getMachineType, type));
|
||||
|
||||
machineBrandModelRespVOS.forEach(v->
|
||||
v.setName(machineDOS.stream().filter(f->f.getBrandId().equals(v.getId())).map(MachineTemplateDO::getName).toList())
|
||||
);
|
||||
// List<MachineBrandModelRespVO> machineBrandModelRespVOS = BeanUtils.toBean(machineBrandDOS, MachineBrandModelRespVO.class);
|
||||
//
|
||||
//
|
||||
// List<MachineTemplateDO> machineDOS = machineTemplateMapper.selectList(new LambdaQueryWrapperX<MachineTemplateDO>()
|
||||
// .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<MachineBrandModelRespVO> machineVOS = BeanUtils.toBean(machineDOS, MachineBrandModelRespVO.class);
|
||||
@@ -329,7 +393,7 @@ public class MachineServiceImpl implements MachineService {
|
||||
// Map<String, List<MachineBrandModelRespVO>> map = machineVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getBrand));
|
||||
|
||||
|
||||
return machineBrandModelRespVOS;
|
||||
// return machineBrandModelRespVOS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+3
-12
@@ -1,6 +1,5 @@
|
||||
package com.cf.imes.module.system.service.machine;
|
||||
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
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.machinetemplate.MachineTemplateDO;
|
||||
@@ -19,15 +18,6 @@ public interface MachineTemplateService {
|
||||
|
||||
PageResult<MachineTemplateDO> page(MachinePageReqVO pageParam);
|
||||
|
||||
Long createDrillTemplate(DrillTemplateSaveReqVO reqVO);
|
||||
|
||||
Boolean updateDrillTemplate(DrillTemplateSaveReqVO reqVO);
|
||||
|
||||
DrillTemplateRespVO getDirllTemplateById(Long id);
|
||||
|
||||
Boolean deleteDrillTemplate(Long id);
|
||||
|
||||
Boolean batchDeleteDrillTemplate(List<Long> ids);
|
||||
|
||||
Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO);
|
||||
|
||||
@@ -42,7 +32,6 @@ public interface MachineTemplateService {
|
||||
|
||||
Map<Integer, List<MachineTemplateRespVO>> getMachineTemplateTree();
|
||||
|
||||
PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page);
|
||||
|
||||
Boolean auth(MachineOrgAuthReq vo);
|
||||
|
||||
@@ -55,6 +44,8 @@ public interface MachineTemplateService {
|
||||
|
||||
void updateMachineTemplateBrand(MachineTemplateBrandReqVO reqVO);
|
||||
|
||||
TemplateAutoResp getTemplateAuth(Long organId);
|
||||
|
||||
Boolean updateTemplateAuth(MachineOrgAuthReq vo);
|
||||
|
||||
// Boolean setDefaultTemplate(Long id);
|
||||
}
|
||||
|
||||
+253
-209
@@ -1,47 +1,43 @@
|
||||
package com.cf.imes.module.system.service.machine;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch._types.FieldValue;
|
||||
import co.elastic.clients.elasticsearch._types.query_dsl.*;
|
||||
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.extension.plugins.pagination.Page;
|
||||
import com.cf.imes.framework.common.exception.ServiceException;
|
||||
import com.cf.imes.framework.common.enums.CommonStatusEnum;
|
||||
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;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.es.core.dal.ESDocument;
|
||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX;
|
||||
import com.cf.imes.module.system.controller.admin.machine.vo.*;
|
||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.OrganSimpleRespVO;
|
||||
import com.cf.imes.module.system.convert.machine.MachineTemplateConvert;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.CuttingSettingDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.MachineBrandDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO;
|
||||
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.machinetemplate.MachineTemplateLimitDO;
|
||||
import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.MachineBrandMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
|
||||
import com.cf.imes.module.system.dal.mysql.organ.OrganMapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.framework.common.util.json.JsonUtils.unzipString;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
@@ -56,8 +52,6 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
//钻孔机台模板配置索引
|
||||
private static final String DRILL_MACHINE_INX = "drill_machine_template";
|
||||
|
||||
@Resource
|
||||
private ESDocumentService esDocumentService;
|
||||
|
||||
@Resource
|
||||
private UserMachineMapper userMachineMapper;
|
||||
@@ -75,90 +69,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
@Resource
|
||||
private MachineBrandMapper machineBrandMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long createDrillTemplate(DrillTemplateSaveReqVO reqVO) {
|
||||
MachineTemplateDO templateDO = Convert.convert(MachineTemplateDO.class, reqVO);
|
||||
machineTemplateMapper.insert(templateDO);
|
||||
DrillTemplateMachineDO setting = reqVO.getSetting();
|
||||
setting.setTemplateId(templateDO.getId());
|
||||
try {
|
||||
esDocumentService.createByFluentDSL(DRILL_MACHINE_INX, setting.getId(), setting);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
return templateDO.getId();
|
||||
}
|
||||
@Resource
|
||||
private OrganMapper organMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateDrillTemplate(DrillTemplateSaveReqVO reqVO) {
|
||||
MachineTemplateDO templateDO = Convert.convert(MachineTemplateDO.class, reqVO);
|
||||
machineTemplateMapper.updateById(templateDO);
|
||||
DrillTemplateMachineDO machineDO = reqVO.getSetting();
|
||||
Map<String, Object> map = BeanUtil.beanToMap(machineDO);
|
||||
try {
|
||||
esDocumentService.updateById(DRILL_MACHINE_INX, machineDO.getId(), DrillTemplateMachineDO.class, map);
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrillTemplateRespVO getDirllTemplateById(Long id) {
|
||||
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
|
||||
if (Objects.isNull(templateDO)) {
|
||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
}
|
||||
DrillTemplateRespVO respVO = Convert.convert(DrillTemplateRespVO.class, templateDO);
|
||||
Object o = buildResp(templateDO.getId(), DRILL_MACHINE_INX, DrillTemplateMachineDO.class);
|
||||
respVO.setDrillTemplateMachineDO((DrillTemplateMachineDO) o);
|
||||
return respVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteDrillTemplate(Long id) {
|
||||
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
|
||||
if (Objects.isNull(templateDO)) {
|
||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
}
|
||||
// 删除
|
||||
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
|
||||
.index(DRILL_MACHINE_INX)
|
||||
.query(b -> b.term(t -> t.field("templateId").value(templateDO.getId())));
|
||||
try {
|
||||
elasticsearchClient.deleteByQuery(builder.build());
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
machineTemplateMapper.deleteById(id);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchDeleteDrillTemplate(List<Long> ids) {
|
||||
List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectBatchIds(ids);
|
||||
if (CollectionUtil.isEmpty(machineTemplateDOS)) {
|
||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
List<FieldValue> fieldValues = machineTemplateDOS.stream().map(e -> FieldValue.of(e.getId())).collect(Collectors.toList());
|
||||
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
|
||||
.index(DRILL_MACHINE_INX)
|
||||
.query(TermsQuery.of(e -> e.field("templateId").terms(b -> b.value(fieldValues)))._toQuery());
|
||||
try {
|
||||
elasticsearchClient.deleteByQuery(builder.build());
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
machineTemplateMapper.deleteBatchIds(ids);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -172,18 +86,17 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
|
||||
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
|
||||
|
||||
// MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(),reqVO.getMachineType());
|
||||
|
||||
if(reqVO.getMachineId()!=null) {
|
||||
|
||||
// List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectByBrand(machineBrandDO.getId());
|
||||
|
||||
if(reqVO.getModel()!=null) {
|
||||
|
||||
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getNowBrandId(), reqVO.getModel());
|
||||
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getBrandId(), reqVO.getMachineId());
|
||||
|
||||
templateDO.setSetting(machineTemplateDO.getSetting());
|
||||
|
||||
machineTemplateMapper.insert(templateDO);
|
||||
|
||||
handleMachineType(machineTemplateDO, templateDO);
|
||||
|
||||
return templateDO.getId();
|
||||
}
|
||||
|
||||
@@ -191,11 +104,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
|
||||
machineTemplateMapper.insert(templateDO);
|
||||
|
||||
|
||||
return templateDO.getId();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
||||
@@ -222,9 +137,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
if (Objects.isNull(templateDO)) {
|
||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
}
|
||||
templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting()));
|
||||
CuttingTemplateRespVO respVO = MachineTemplateConvert.convert1(templateDO);
|
||||
return respVO;
|
||||
templateDO.setSetting(unzipString(templateDO.getSetting()));
|
||||
return MachineTemplateConvert.convert1(templateDO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -242,6 +157,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
List<Long> ids = machineTemplateDOS.stream().map(MachineTemplateDO::getId).toList();
|
||||
|
||||
machineTemplateMapper.deleteBatchIds(ids);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +183,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
.stream()
|
||||
// todo 目前需要写上,等数据清一波后,应该不需要了
|
||||
.filter(m -> !Objects.equals(m.getBrandId(),null))
|
||||
.map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).toList();
|
||||
.map(m -> m.setSetting(unzipString(m.getSetting()))).toList();
|
||||
|
||||
for (MachineTemplateRespVO machineTemplateRespVO : machineTemplateRespVOS) {
|
||||
machineTemplateRespVO.setMachineTemplateDOS(machineTemplateDOS.stream()
|
||||
@@ -275,23 +191,66 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
.toList());
|
||||
}
|
||||
|
||||
Map<Integer, List<MachineTemplateRespVO>> map = machineTemplateRespVOS.stream().collect(Collectors.groupingBy(MachineTemplateRespVO::getMachineType));
|
||||
return machineTemplateRespVOS.stream().collect(Collectors.groupingBy(MachineTemplateRespVO::getMachineType));
|
||||
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page) {
|
||||
Page<AuthTemplateResp> respPage = new Page<>(page.getPageNo(), page.getPageSize());
|
||||
Page<AuthTemplateResp> pageRes = machineTemplateMapper.selectAuthTemplatePage(respPage, page);
|
||||
return new PageResult<>(pageRes.getRecords(), pageRes.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<OrganTemplateResp> organTemplatePage(OrganTemplatePage page) {
|
||||
Page<OrganTemplateResp> respPage = new Page<>(page.getPageNo(), page.getPageSize());
|
||||
Page<OrganTemplateResp> pageRes = machineTemplateMapper.selectOrganTemplatePage(respPage, page);
|
||||
return new PageResult<>(pageRes.getRecords(), pageRes.getTotal());
|
||||
|
||||
// List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectMachineTemplate(page.getTemplateName());
|
||||
//
|
||||
// List<Long> machineTemplateIds = machineTemplateDOS.stream().map(m -> m.getId()).toList();
|
||||
//
|
||||
// MPJLambdaWrapperX<OrganizationDO> lambdaWrapperX = new MPJLambdaWrapperX<>();
|
||||
// lambdaWrapperX.leftJoin(MachineTemplateLimitDO.class, MachineTemplateLimitDO::getMachineId, OrganizationDO::getId)
|
||||
// .eqIfExists(OrganizationDO::getName,page.getOrganId())
|
||||
// .in(MachineTemplateLimitDO::getMachineId, machineTemplateIds)
|
||||
// .distinct();
|
||||
//
|
||||
// PageResult<OrganizationDO> pageResult = organMapper.selectJoinPage(page, OrganizationDO.class, lambdaWrapperX);
|
||||
//
|
||||
//
|
||||
// List<Long> organIds = pageResult.getList().stream().map(OrganizationDO::getId).toList();
|
||||
|
||||
Page<OrganTemplateResp> organTemplateRespPage = machineTemplateLimitMapper.selectMachinePage(respPage, page);
|
||||
|
||||
// 分页查询出的组织信息
|
||||
List<OrganTemplateResp> organTemplateRespPageRecords = organTemplateRespPage.getRecords();
|
||||
|
||||
List<Long> organIds = organTemplateRespPageRecords.stream().map(OrganTemplateResp::getOrganId).toList();
|
||||
|
||||
|
||||
if(organIds.isEmpty()){
|
||||
return null;
|
||||
}
|
||||
|
||||
List<MachineTemplateBrandReqVO> machineTemplateBrandReqVOS = machineTemplateLimitMapper.selectMachineList(organIds,page.getTemplateName());
|
||||
|
||||
|
||||
// 查询品牌名称
|
||||
List<Long> brandIds = machineTemplateBrandReqVOS.stream().map(MachineTemplateBrandReqVO::getId).toList();
|
||||
|
||||
List<MachineBrandDO> machineBrandDOS = machineBrandMapper.selectBatchIds(brandIds);
|
||||
|
||||
for (MachineTemplateBrandReqVO machineTemplateBrandReqVO : machineTemplateBrandReqVOS) {
|
||||
machineTemplateBrandReqVO.setBrand(machineBrandDOS.stream()
|
||||
.filter(f->f.getId().equals(machineTemplateBrandReqVO.getId()))
|
||||
.map(MachineBrandDO::getBrand)
|
||||
.findAny().orElse(null));
|
||||
}
|
||||
|
||||
for (OrganTemplateResp organTemplateRespPageRecord : organTemplateRespPageRecords) {
|
||||
organTemplateRespPageRecord.setMachineTemplateBrandReqVOS(machineTemplateBrandReqVOS.stream()
|
||||
.filter(f->f.getOrganId().equals(organTemplateRespPageRecord.getOrganId()))
|
||||
.toList());
|
||||
}
|
||||
|
||||
return new PageResult<>(organTemplateRespPage.getRecords(), organTemplateRespPage.getTotal());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -333,29 +292,111 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
|
||||
}
|
||||
|
||||
// @Override
|
||||
// @Transactional
|
||||
// public Boolean setDefaultTemplate(Long id) {
|
||||
// MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
|
||||
// if (Objects.isNull(templateDO)) {
|
||||
// throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
// }
|
||||
// List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectList(MachineTemplateDO::getMachineType, templateDO.getMachineType(), MachineTemplateDO::getIsDefault, Boolean.TRUE);
|
||||
// if(CollectionUtil.isEmpty(machineTemplateDOS) || machineTemplateDOS.size()>1) {
|
||||
// throw exception(DEFAULT_TEMPLATE_COUNT);
|
||||
// }
|
||||
//
|
||||
// if(!machineTemplateDOS.isEmpty()){
|
||||
// MachineTemplateDO machineTemplateDO = new MachineTemplateDO();
|
||||
// machineTemplateDO.setId(machineTemplateDOS.get(0).getId());
|
||||
// machineTemplateDO.setIsDefault(Boolean.FALSE);
|
||||
// machineTemplateMapper.updateById(machineTemplateDO);
|
||||
// }
|
||||
//
|
||||
// templateDO.setIsDefault(Boolean.TRUE);
|
||||
// machineTemplateMapper.updateById(templateDO);
|
||||
// return Boolean.TRUE;
|
||||
// }
|
||||
@Override
|
||||
public TemplateAutoResp getTemplateAuth(Long organId) {
|
||||
|
||||
// todo 逻辑增强已完成,已完成如果按照组织查询,只查询当前组织下没有进行授权的机台,数据正确性待确认
|
||||
|
||||
TemplateAutoResp templateAutoResp = new TemplateAutoResp();
|
||||
|
||||
|
||||
List<Long> machineIds;
|
||||
|
||||
if(organId != null){
|
||||
|
||||
List<MachineTemplateLimitDO> machineTemplateLimitDOS = machineTemplateLimitMapper.selectListByOrganId(organId);
|
||||
|
||||
machineIds = machineTemplateLimitDOS.stream().map(MachineTemplateLimitDO::getMachineId).distinct().toList();
|
||||
|
||||
} else {
|
||||
machineIds = new ArrayList<>();
|
||||
}
|
||||
|
||||
List<OrganizationDO> organizationDOS = organMapper.selectOrganList(CommonStatusEnum.ENABLE.getStatus());
|
||||
|
||||
|
||||
templateAutoResp.setOrganSimpleRespVOS(BeanUtils.toBean(organizationDOS, OrganSimpleRespVO.class));
|
||||
|
||||
|
||||
List<MachineBrandDO> machineBrandDOS = machineBrandMapper.selectListByType(MachineTypeEnum.CUTTING.getType());
|
||||
|
||||
|
||||
templateAutoResp.setMachineBrand(BeanUtils.toBean(machineBrandDOS, TemplateAutoResp.MachineBrand.class));
|
||||
|
||||
|
||||
List<Long> brandIds = machineBrandDOS.stream().map(MachineBrandDO::getId).toList();
|
||||
|
||||
|
||||
List<MachineTemplateDO> machineTemplateDoS = machineTemplateMapper
|
||||
.selectList( new MPJLambdaWrapperX<MachineTemplateDO>()
|
||||
.in(MachineTemplateDO::getBrandId, brandIds)
|
||||
.select(MachineTemplateDO::getId, MachineTemplateDO::getBrandId, MachineTemplateDO::getName));
|
||||
|
||||
|
||||
List<TemplateAutoResp.MachineTemplate> machineTemplates = BeanUtils.toBean(machineTemplateDoS, TemplateAutoResp.MachineTemplate.class);
|
||||
|
||||
|
||||
if(!machineIds.isEmpty()) {
|
||||
|
||||
for (TemplateAutoResp.MachineBrand machineBrand : templateAutoResp.getMachineBrand()) {
|
||||
|
||||
machineBrand.setMachineTemplates(machineTemplates.stream().filter(f -> f.getBrandId().equals(machineBrand.getId())).toList());
|
||||
|
||||
|
||||
List<TemplateAutoResp.MachineTemplate> machineTemplate = new ArrayList<>(machineBrand.getMachineTemplates().stream()
|
||||
|
||||
.filter(f -> !machineIds.contains(f.getId()))
|
||||
|
||||
.toList());
|
||||
|
||||
|
||||
machineBrand.setMachineTemplates(machineTemplate.stream().distinct().toList());
|
||||
|
||||
}
|
||||
|
||||
return templateAutoResp;
|
||||
|
||||
}
|
||||
|
||||
|
||||
for (TemplateAutoResp.MachineBrand machineBrand : templateAutoResp.getMachineBrand()) {
|
||||
|
||||
machineBrand.setMachineTemplates(machineTemplates.stream().filter(f -> f.getBrandId().equals(machineBrand.getId())).toList());
|
||||
|
||||
}
|
||||
|
||||
|
||||
return templateAutoResp;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Boolean updateTemplateAuth(MachineOrgAuthReq vo) {
|
||||
|
||||
List<MachineAuth> machineAuthList = vo.getMachineAuthList();
|
||||
|
||||
if(!machineAuthList.isEmpty()) {
|
||||
List<MachineTemplateLimitDO> 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;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@@ -364,32 +405,11 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
if (Objects.isNull(templateDO)) {
|
||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||
}
|
||||
// if(templateDO.getIsDefault()) {
|
||||
// throw exception(DEFAULT_TEMPLATE_NOT_DELETED);
|
||||
// }
|
||||
|
||||
machineTemplateMapper.deleteById(id);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
private Object buildResp(Long machineTemplateId, String index, Class<? extends ESDocument> clazz) {
|
||||
SearchRequest.Builder builder = new SearchRequest.Builder();
|
||||
builder.index(index);
|
||||
builder.query(q -> q.term(TermQuery.of(e -> e.field("templateId").value(machineTemplateId))));
|
||||
SearchResponse<CuttingSettingDO> searchSetting = null;
|
||||
try {
|
||||
SearchResponse<?> search = elasticsearchClient.search(builder.build(), clazz);
|
||||
List<? extends Hit<?>> hits = search.hits().hits();
|
||||
if (CollectionUtil.isNotEmpty(hits)) {
|
||||
Hit<?> hit = hits.get(0);
|
||||
return hit.source();
|
||||
}
|
||||
return null;
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -411,7 +431,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean auth(MachineOrgAuthReq vo) {
|
||||
machineTemplateLimitMapper.delete(new LambdaQueryWrapperX<MachineTemplateLimitDO>().eq(MachineTemplateLimitDO::getOrganId, vo.getOrganId()));
|
||||
|
||||
// 去掉授权删除
|
||||
// machineTemplateLimitMapper.delete(new LambdaQueryWrapperX<MachineTemplateLimitDO>().eq(MachineTemplateLimitDO::getOrganId, vo.getOrganId()));
|
||||
|
||||
List<MachineAuth> machineAuthList = vo.getMachineAuthList();
|
||||
|
||||
@@ -438,56 +460,78 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
}
|
||||
|
||||
|
||||
/* @Override
|
||||
public PageResult<CuttingMachineDO> pageCutting(PageParam pageParam) {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
List<String> machineIds = userMachineMapper.selectList(new LambdaQueryWrapperX<UserMachineDO>().eq(UserMachineDO::getUserId, 1L*//*loginUser.getId()*//*))
|
||||
.stream()
|
||||
.map(e -> e.getMachineId())
|
||||
.collect(Collectors.toList());
|
||||
List<CuttingMachineDO> cuttingMachineDOS = new ArrayList<>();
|
||||
List<Query> queryList = new ArrayList<>();
|
||||
List<FieldValue> fieldValues = new ArrayList<>();
|
||||
for (String machineId : machineIds) {
|
||||
fieldValues.add(FieldValue.of(machineId));
|
||||
}
|
||||
queryList.add(TermsQuery.of(e-> e.field("_id").terms(b->b.value(fieldValues)))._toQuery());
|
||||
queryList.add(TermQuery.of(e->e.field("organId").value( loginUser.getOrganId()))._toQuery());
|
||||
SearchResponse<CuttingMachineDO> response = null;
|
||||
try {
|
||||
response = elasticsearchClient.search(s-> s.index(CUTTING_MACHINE_INX)
|
||||
.from((pageParam.getPageNo() - 1) * pageParam.getPageSize())
|
||||
.size(pageParam.getPageSize())
|
||||
.query(b -> b.bool( builder -> builder.must(queryList))),
|
||||
CuttingMachineDO.class);
|
||||
} catch (IOException e) {
|
||||
log.error(e.getMessage());
|
||||
throw new ServiceException(500, "服务器异常");
|
||||
}
|
||||
long value = response.hits().total().value();
|
||||
for (Hit<CuttingMachineDO> hit : response.hits().hits()) {
|
||||
cuttingMachineDOS.add(hit.source());
|
||||
}
|
||||
return new PageResult<CuttingMachineDO>(cuttingMachineDOS, value);
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public PageResult<MachineTemplateDO> page(MachinePageReqVO pageParam) {
|
||||
/* LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
List<Long> machineIds = userMachineMapper.selectList(new LambdaQueryWrapperX<UserMachineDO>().eq(UserMachineDO::getUserId, loginUser.getId()))
|
||||
.stream()
|
||||
.map(e -> e.getMachineId())
|
||||
.collect(Collectors.toList());
|
||||
if(CollectionUtil.isEmpty(machineIds)) {
|
||||
return new PageResult<>();
|
||||
}*/
|
||||
|
||||
PageResult<MachineTemplateDO> machineTemplateDOPageResult = machineTemplateMapper.selectPage(pageParam, new ArrayList<>());
|
||||
// 将机台模板的配置进行解压
|
||||
machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList()));
|
||||
machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(unzipString(m.getSetting()))).collect(Collectors.toList()));
|
||||
|
||||
return machineTemplateDOPageResult;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 判断机台模板的类型
|
||||
private void handleMachineType(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) {
|
||||
|
||||
if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.CUTTING.getType())) {
|
||||
handleCuttingMachine(machineTemplateDO, templateDO);
|
||||
} else if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) {
|
||||
handleBandingMachine(machineTemplateDO, templateDO);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleCuttingMachine(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) {
|
||||
|
||||
JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
|
||||
JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef");
|
||||
|
||||
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
|
||||
|
||||
if(isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null){
|
||||
|
||||
Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt();
|
||||
MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel);
|
||||
|
||||
MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder()
|
||||
.machineType(labelingMachineTemplateDO.getMachineType())
|
||||
.brandId(labelingMachineTemplateDO.getBrandId())
|
||||
.setting(labelingMachineTemplateDO.getSetting())
|
||||
.name("开料" + templateDO.getName() + "-贴标机")
|
||||
.build();
|
||||
|
||||
machineTemplateMapper.insert(labelingMachineDO);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleBandingMachine(MachineTemplateDO machineTemplateDO, MachineTemplateDO templateDO) {
|
||||
|
||||
JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
|
||||
JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef");
|
||||
|
||||
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean();
|
||||
|
||||
if(isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null){
|
||||
|
||||
Integer drillModel = cuttingModuleRef.get("drillModel").asInt();
|
||||
MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModel);
|
||||
|
||||
MachineTemplateDO drillMachineDO = MachineTemplateDO.builder()
|
||||
.machineType(drillMachineTemplateDO.getMachineType())
|
||||
.brandId(drillMachineTemplateDO.getBrandId())
|
||||
.setting(drillMachineTemplateDO.getSetting())
|
||||
.name("开料" + templateDO.getName() + "钻孔机")
|
||||
.build();
|
||||
|
||||
machineTemplateMapper.insert(drillMachineDO);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.machine.MachineBrandMapper">
|
||||
|
||||
|
||||
<resultMap id="MachineMap" type="com.cf.imes.module.system.controller.admin.machine.vo.MachineBrandModelRespVO">
|
||||
|
||||
<result property="brandId" column="brandId"/>
|
||||
<result property="brand" column="brand"/>
|
||||
|
||||
<collection property="machineSimpleRespVOS" ofType="com.cf.imes.module.system.controller.admin.machine.vo.MachineSimpleRespVO" resultMap="MachineSimpleMap"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap id="MachineSimpleMap" type="com.cf.imes.module.system.controller.admin.machine.vo.MachineSimpleRespVO">
|
||||
|
||||
<result property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectMachineList" resultMap="MachineMap">
|
||||
|
||||
|
||||
select smb.id as brandId,
|
||||
smb.brand,
|
||||
smt.id,
|
||||
smt.name
|
||||
|
||||
from system_machine_brand smb
|
||||
left join system_machine_template smt on smb.id = smt.brand_id
|
||||
|
||||
where smt.deleted = false and smb.machine_type = #{type}
|
||||
|
||||
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateLimitMapper">
|
||||
|
||||
|
||||
|
||||
<resultMap id="MachineTemplateMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateResp">
|
||||
|
||||
<result property="organId" column="organId"/>
|
||||
<result property="organName" column="organName"/>
|
||||
|
||||
<!-- <collection property="machineTemplateBrandReqVOS" ofType="com.cf.imes.module.system.controller.admin.machine.vo.MachineTemplateBrandReqVO" resultMap="TemplateBrandMap"/>-->
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectMachinePage" resultMap="MachineTemplateMap">
|
||||
|
||||
|
||||
select distinct
|
||||
so.id as organId,
|
||||
so.name as organName
|
||||
|
||||
from system_machine_template_limit smtl
|
||||
|
||||
join system_organization so on smtl.organ_id = so.id
|
||||
|
||||
join system_machine_template smt on smtl.machine_id = smt.id
|
||||
|
||||
<where>
|
||||
|
||||
so.status = 0
|
||||
and so.deleted = false
|
||||
and smtl.deleted = false
|
||||
|
||||
<if test="page.organName !=null ">
|
||||
and so.name like concat('%', #{page.organName},'%')
|
||||
</if>
|
||||
<if test="page.templateName !=null ">
|
||||
and smt.name like concat('%', #{page.templateName},'%')
|
||||
</if>
|
||||
|
||||
|
||||
</where>
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<resultMap id="TemplateBrandMap" type="com.cf.imes.module.system.controller.admin.machine.vo.MachineTemplateBrandReqVO">
|
||||
|
||||
<result property="organId" column="organId"/>
|
||||
<result property="machineType" column="machineType"/>
|
||||
<result property="id" column="id"/>
|
||||
|
||||
<collection property="organMachineVOS" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO" resultMap="OrganMachineMap"/>
|
||||
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap id="OrganMachineMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO">
|
||||
|
||||
<result property="templateId" column="templateId"/>
|
||||
<result property="brandId" column="id"/>
|
||||
<result property="templateName" column="templateName"/>
|
||||
<result property="machineType" column="machineType"/>
|
||||
<result property="showPriorFacing" column="showPriorFacing"/>
|
||||
<result property="showDualWorkstation" column="showDualWorkstation"/>
|
||||
<result property="showAutoNotePrinter" column="showAutoNotePrinter"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectMachineList"
|
||||
resultMap="TemplateBrandMap">
|
||||
select distinct
|
||||
smtl.organ_id as organId,
|
||||
smt.machine_type as machineType,
|
||||
smt.brand_id as id,
|
||||
smtl.machine_id as templateId,
|
||||
smt.name as templateName,
|
||||
smtl.show_auto_note_printer as showAutoNotePrinter,
|
||||
smtl.show_dual_workstation as showDualWorkstation,
|
||||
smtl.show_prior_facing as showPriorFacing
|
||||
from system_machine_template_limit smtl
|
||||
|
||||
join system_machine_template smt on smtl.machine_id = smt.id
|
||||
|
||||
<where>
|
||||
smtl.deleted = false
|
||||
and smtl.organ_id in
|
||||
<foreach item="organIds" collection="organIds" open="(" separator="," close=")">
|
||||
#{organIds}
|
||||
</foreach>
|
||||
|
||||
<if test="templateName !=null ">
|
||||
and smt.name like concat('%', #{templateName},'%')
|
||||
</if>
|
||||
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+15
-1
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cf.imes.module.system.dal.mysql.organ.OrganMapper">
|
||||
|
||||
|
||||
<select id="selectOrgSilentCount" resultType="java.lang.Integer">
|
||||
WITH NoLoginOrgs AS (
|
||||
SELECT DISTINCT o.id
|
||||
@@ -18,4 +18,18 @@
|
||||
FROM NoLoginOrgs;
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="selectTestSQL" resultType="com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO">
|
||||
|
||||
${sql}
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user