mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
开料,封边新增连带贴标,钻孔新增-逻辑新增,预打包翻页提示信息更改
This commit is contained in:
+3
-1
@@ -233,6 +233,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, "板材不存在");
|
||||
@@ -271,7 +272,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 ============
|
||||
@@ -279,6 +280,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, "余料板未使用");
|
||||
|
||||
+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();
|
||||
}
|
||||
|
||||
+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);
|
||||
|
||||
}
|
||||
|
||||
+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));
|
||||
}
|
||||
}
|
||||
|
||||
+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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
+92
-64
@@ -11,37 +11,43 @@ 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.*;
|
||||
|
||||
/**
|
||||
@@ -172,18 +178,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 +196,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
|
||||
machineTemplateMapper.insert(templateDO);
|
||||
|
||||
|
||||
return templateDO.getId();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
||||
@@ -222,9 +229,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 +249,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
||||
List<Long> ids = machineTemplateDOS.stream().map(MachineTemplateDO::getId).toList();
|
||||
|
||||
machineTemplateMapper.deleteBatchIds(ids);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +275,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,9 +283,9 @@ 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
|
||||
@@ -364,9 +372,7 @@ 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;
|
||||
}
|
||||
@@ -438,56 +444,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>
|
||||
Reference in New Issue
Block a user