机台模板是否发布,是否可用字段更新

This commit is contained in:
liuzhaotian
2024-09-13 09:29:52 +08:00
parent 6e3231888d
commit e772e10d6c
20 changed files with 544 additions and 410 deletions
@@ -34,6 +34,13 @@ public class CuttingTemplateSaveReqVO {
private Long brandId;
@Schema(description = "机台模板是否公用")
private Boolean isDefault;
@Schema(description = "机台模板是否可用")
private Boolean isEnabled;
// @Schema(description = "机台的品牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
// @NotNull(message = "品牌名称不能为空")
// private String brand;
@@ -29,6 +29,8 @@ public class MachineTemplateConvert {
.name(reqVO.getName())
// .brand(reqVO.getBrand())
.brandId(reqVO.getNowBrandId())
.isDefault(reqVO.getIsDefault())
.isEnabled(reqVO.getIsEnabled())
.setting(reqVO.getSetting().toJSONString())
.build();
}
@@ -29,10 +29,10 @@ public class MachineTemplateDO extends BaseDO {
*/
private Integer machineType;
// /**
// * 是否默认模板
// */
// private Boolean isDefault;
/**
* 是否公用
*/
private Boolean isDefault;
/**
* 机台模板配置
@@ -44,6 +44,10 @@ public class MachineTemplateDO extends BaseDO {
*/
private Long brandId;
/**
* 是否可用
*/
private Boolean isEnabled;
/**
@@ -100,8 +100,8 @@ public class MachineServiceImpl implements MachineService {
assert loginUser != null;
// 校验机台名称是否重复
MachineDO machine = machineMapper.selectMachineName(createReqVO.getName(),createReqVO.getMachineType(), getUserOrganId());
if(machine != null){
MachineDO machine = machineMapper.selectMachineName(createReqVO.getName(), createReqVO.getMachineType(), getUserOrganId());
if (machine != null) {
throw exception(MACHINE_NAME_ERROR);
}
@@ -117,7 +117,7 @@ public class MachineServiceImpl implements MachineService {
// 插入
machineDO = MachineConvert.convert(createReqVO);
String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineDO.getMachineType(),copyMachineDO.getSetting(),true);
String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineDO.getMachineType(), copyMachineDO.getSetting(), true);
machineDO.setSetting(updatedJsonString == null ? copyMachineDO.getSetting() : zipString(updatedJsonString));
@@ -140,7 +140,7 @@ public class MachineServiceImpl implements MachineService {
machineDO = MachineConvert.convert(createReqVO);
// 处理不同机台类型的配置
String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineTemplateDO.getMachineType(), machineTemplateDO.getSetting(),false);
String updatedJsonString = handleMachineSpecificConfiguration(machineDO, machineTemplateDO.getMachineType(), machineTemplateDO.getSetting(), false);
machineDO.setSetting(updatedJsonString == null ? machineTemplateDO.getSetting() : zipString(updatedJsonString));
machineMapper.insert(machineDO);
@@ -151,16 +151,15 @@ public class MachineServiceImpl implements MachineService {
}
// 判断机台的模板是否是钻孔机或封边机
private String handleMachineSpecificConfiguration(MachineDO machineDO, Integer machineType,String machineSetting,Boolean isMachine) throws JsonProcessingException {
private String handleMachineSpecificConfiguration(MachineDO machineDO, Integer machineType, String machineSetting, Boolean isMachine) throws JsonProcessingException {
String updatedJsonString = null;
if (MachineTypeEnum.CUTTING.getType().equals(machineType)) {
updatedJsonString = handleCuttingMachineConfiguration(machineDO, machineSetting,isMachine);
updatedJsonString = handleCuttingMachineConfiguration(machineDO, machineSetting, isMachine);
} else if (MachineTypeEnum.BANDING.getType().equals(machineType)) {
updatedJsonString = handleBandingMachineConfiguration(machineDO, machineSetting,isMachine);
updatedJsonString = handleBandingMachineConfiguration(machineDO, machineSetting, isMachine);
}
return updatedJsonString;
@@ -168,7 +167,7 @@ public class MachineServiceImpl implements MachineService {
// 创建贴标机
private String handleCuttingMachineConfiguration(MachineDO machineDO, String machineSetting,Boolean isMachine) throws JsonProcessingException {
private String handleCuttingMachineConfiguration(MachineDO machineDO, String machineSetting, Boolean isMachine) throws JsonProcessingException {
String unzipMachineSetting = unzipString(machineSetting);
@@ -176,53 +175,24 @@ public class MachineServiceImpl implements MachineService {
JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef");
if(advancedConfigsRef.get("isAutoLabelEnabled") != null) {
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled") != null && advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) {
Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt();
if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) {
Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt();
MachineDO newMachine;
MachineDO newMachine;
if (isMachine) {
if (isMachine) {
MachineDO machine = machineMapper.selectById(autoLabelModelId);
if (machine != null) {
newMachine = MachineDO.builder()
.labelId(machine.getLabelId())
.machineType(machine.getMachineType())
.brandId(machine.getBrandId())
.setting(machine.getSetting())
.name("开料" + machineDO.getName() + "-贴标机")
.build();
machineMapper.insert(newMachine);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipMachineSetting, Map.class);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("advancedConfigsRef");
advancedConfigs.put("autoLabelModel", newMachine.getId());
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(autoLabelModelId);
if (machineTemplate != null) {
MachineDO machine = machineMapper.selectById(autoLabelModelId);
if (machine != null) {
newMachine = MachineDO.builder()
.labelId(machineDO.getLabelId())
.machineType(machineTemplate.getMachineType())
.brandId(machineTemplate.getBrandId())
.setting(machineTemplate.getSetting())
.labelId(machine.getLabelId())
.machineType(machine.getMachineType())
.brandId(machine.getBrandId())
.setting(machine.getSetting())
.name("开料" + machineDO.getName() + "-贴标机")
.build();
@@ -241,15 +211,44 @@ public class MachineServiceImpl implements MachineService {
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(autoLabelModelId);
if (machineTemplate != null) {
newMachine = MachineDO.builder()
.labelId(machineDO.getLabelId())
.machineType(machineTemplate.getMachineType())
.brandId(machineTemplate.getBrandId())
.setting(machineTemplate.getSetting())
.name("开料" + machineDO.getName() + "-贴标机")
.build();
machineMapper.insert(newMachine);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipMachineSetting, Map.class);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("advancedConfigsRef");
advancedConfigs.put("autoLabelModel", newMachine.getId());
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
return null;
return null;
}
// 创建钻孔机
private String handleBandingMachineConfiguration(MachineDO machineDO, String machineSetting,Boolean isMachine) throws JsonProcessingException {
private String handleBandingMachineConfiguration(MachineDO machineDO, String machineSetting, Boolean isMachine) throws JsonProcessingException {
String unzipMachineSetting = unzipString(machineSetting);
@@ -257,54 +256,23 @@ public class MachineServiceImpl implements MachineService {
JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef");
if(cuttingModuleRef.get("isDrillEnabled") != null) {
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean();
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled") != null && cuttingModuleRef.get("isDrillEnabled").asBoolean();
if (isDrillEnabled && cuttingModuleRef.has("drillModel")) {
Integer drillModelId = cuttingModuleRef.get("drillModel").asInt();
if (isDrillEnabled && cuttingModuleRef.has("drillModel")) {
Integer drillModelId = cuttingModuleRef.get("drillModel").asInt();
MachineDO newMachine;
MachineDO newMachine;
if (isMachine) {
if (isMachine) {
MachineDO machine = machineMapper.selectById(drillModelId);
if (machine != null) {
newMachine = MachineDO.builder()
.labelId(machine.getLabelId())
.machineType(machine.getMachineType())
.brandId(machine.getBrandId())
.setting(machine.getSetting())
.name("封边" + machineDO.getName() + "-钻孔机")
.build();
machineMapper.insert(newMachine);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipMachineSetting, Map.class);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("cuttingModuleRef");
advancedConfigs.put("drillModel", newMachine.getId());
// 将 Map 转换为 JSON 字符串并打印输出
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(drillModelId);
if (machineTemplate != null) {
MachineDO machine = machineMapper.selectById(drillModelId);
if (machine != null) {
newMachine = MachineDO.builder()
.labelId(machineDO.getLabelId())
.machineType(machineTemplate.getMachineType())
.brandId(machineTemplate.getBrandId())
.setting(machineTemplate.getSetting())
.labelId(machine.getLabelId())
.machineType(machine.getMachineType())
.brandId(machine.getBrandId())
.setting(machine.getSetting())
.name("封边" + machineDO.getName() + "-钻孔机")
.build();
@@ -322,29 +290,55 @@ public class MachineServiceImpl implements MachineService {
// 将 Map 转换为 JSON 字符串并打印输出
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
MachineTemplateDO machineTemplate = machineTemplateMapper.selectById(drillModelId);
if (machineTemplate != null) {
newMachine = MachineDO.builder()
.labelId(machineDO.getLabelId())
.machineType(machineTemplate.getMachineType())
.brandId(machineTemplate.getBrandId())
.setting(machineTemplate.getSetting())
.name("封边" + machineDO.getName() + "-钻孔机")
.build();
machineMapper.insert(newMachine);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipMachineSetting, Map.class);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("cuttingModuleRef");
advancedConfigs.put("drillModel", newMachine.getId());
// 将 Map 转换为 JSON 字符串并打印输出
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
}
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCutting(CuttingSaveReqVO updateReqVO) {
// 校验存在和判断机台名称是否重复
validateExists(updateReqVO.getId(),updateReqVO.getName(),updateReqVO.getMachineType(),updateReqVO.getId());
validateExists(updateReqVO.getId(), updateReqVO.getName(), updateReqVO.getMachineType(), updateReqVO.getId());
// 更新
MachineDO updateObj = MachineConvert.convert(updateReqVO);
//MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class);
// 判断传入的机台配置是否存在,如果存在,压缩数据后更新
if(!updateReqVO.getMachineSettingDO().isEmpty()){
if (!updateReqVO.getMachineSettingDO().isEmpty()) {
updateObj.setSetting(JsonUtils.zipString(updateObj.getSetting()));
}
@@ -359,7 +353,7 @@ public class MachineServiceImpl implements MachineService {
throw exception(MACHINE_NOT_EXISTS);
}
// 校验当前机台是否使用
if(orderPlanApi.getOrderPlan(id).getData()){
if (orderPlanApi.getOrderPlan(id).getData()) {
throw exception(THE_CURRENT_MACHINE_IS_ALREADY_IN_USE);
}
machineMapper.deleteById(id);
@@ -395,7 +389,6 @@ public class MachineServiceImpl implements MachineService {
}
@Override
public DrillRespVO getDrill(Long id) {
MachineDO machineDO = machineMapper.selectById(id);
@@ -423,7 +416,7 @@ public class MachineServiceImpl implements MachineService {
List<Long> brandIds = machineDOS.stream().map(MachineDO::getBrandId).toList();
List<MachineBrandDO> machineBrandDOS = new ArrayList<>();
if(!brandIds.isEmpty()) {
if (!brandIds.isEmpty()) {
machineBrandDOS = machineBrandMapper.selectBatchIds(brandIds);
}
@@ -483,7 +476,6 @@ public class MachineServiceImpl implements MachineService {
.build();
machineLimitMapper.updateById(machineLimitDO);
return Boolean.TRUE;
@@ -524,14 +516,14 @@ public class MachineServiceImpl implements MachineService {
List<MachineDO> machineDOS = machineMapper.selectMachineList(type, getUserOrganId());
return BeanUtils.toBean(machineDOS,MachineSimpleRespVO.class);
return BeanUtils.toBean(machineDOS, MachineSimpleRespVO.class);
}
@Override
@OrganIgnore
public List<MachineSimpleRespVO> simpleList(Long organId,Long type) {
public List<MachineSimpleRespVO> simpleList(Long organId, Long type) {
List<MachineDO> machineDOS = machineMapper.selectList(new LambdaQueryWrapperX<MachineDO>()
.eqIfPresent(MachineDO::getOrganId, organId)
.eqIfPresent(MachineDO::getMachineType, type)
@@ -551,7 +543,6 @@ public class MachineServiceImpl implements MachineService {
}
@Override
public Map<Integer, List<MachineBrandModelRespVO>> getTemplateAuth(MachinePageReqVO pageParam) {
@@ -561,53 +552,51 @@ public class MachineServiceImpl implements MachineService {
return machineBrandModelRespVOS.stream().collect(Collectors.groupingBy(MachineBrandModelRespVO::getMachineType));
}
// 校验机台是否存在和机台名称是否重复
private void validateExists(Long id,String name,Integer machineType,Long machineId) {
private void validateExists(Long id, String name, Integer machineType, Long machineId) {
MachineDO machineDO = machineMapper.selectById(id);
if (machineDO == null) {
throw exception(MACHINE_NOT_EXISTS);
}
MachineDO machine = machineMapper.selectMachine(name, machineType,machineId, getUserOrganId());
MachineDO machine = machineMapper.selectMachine(name, machineType, machineId, getUserOrganId());
if(machine != null){
if (machine != null) {
throw exception(MACHINE_NAME_ERROR);
}
}
// 校验当前组织当前类型的机台是否达到最大创建数量
private void validateMachineNum(Integer machineType, Long organId){
private void validateMachineNum(Integer machineType, Long organId) {
Integer machineNum = machineMapper.selectByOrganId(machineType,organId).size()+1;
Integer machineNum = machineMapper.selectByOrganId(machineType, organId).size() + 1;
MachineLimitDO machineLimitDO = machineLimitMapper.selectById(organId);
Integer authMachineNum = 0;
switch (machineType){
switch (machineType) {
case 1 :
case 1:
authMachineNum = machineLimitDO.getCutLimit();
break;
case 2 :
case 2:
authMachineNum = machineLimitDO.getDrillLimit();
break;
case 3 :
case 3:
authMachineNum = machineLimitDO.getSawLimit();
break;
case 4 :
case 4:
authMachineNum = machineLimitDO.getLabelLimit();
break;
case 5 :
case 5:
authMachineNum = machineLimitDO.getSealedgeLimit();
break;
}
if(machineNum >= authMachineNum){
if (machineNum >= authMachineNum) {
throw exception(MACHINE_NUM_ERROR);
}
@@ -73,27 +73,26 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
private OrganMapper organMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
// todo 测试时的判断,测试完毕后删除
if(reqVO.getNowBrandId() == null){
if (reqVO.getNowBrandId() == null) {
throw exception(THE_CURRENT_BRAND);
}
validateMachineTemplate(reqVO.getName(),reqVO.getMachineType());
validateMachineTemplate(reqVO.getName(), reqVO.getMachineType());
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
if(reqVO.getMachineId()!=null) {
if (reqVO.getMachineId() != null) {
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(reqVO.getBrandId(), reqVO.getMachineId());
String updatedJsonString = handleMachineType(templateDO.getName(),machineTemplateDO.getMachineType(),machineTemplateDO.getSetting());
String updatedJsonString = handleMachineType(templateDO.getName(), machineTemplateDO.getMachineType(), machineTemplateDO.getSetting());
templateDO.setSetting(updatedJsonString == null ? machineTemplateDO.getSetting() : JsonUtils.zipString(updatedJsonString));
@@ -119,17 +118,17 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
// todo 测试时的判断,测试完毕后删除
MachineBrandDO machineBrandDO = machineBrandMapper.selectById(reqVO.getNowBrandId());
if(machineBrandDO == null){
if (machineBrandDO == null) {
throw exception(THE_CURRENT_BRAND);
}
// 校验机台模板是否存在和名称是否重复
validateMachineTemplateExists(reqVO.getName(),reqVO.getMachineType(),reqVO.getId());
validateMachineTemplateExists(reqVO.getName(), reqVO.getMachineType(), reqVO.getId());
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
if(!reqVO.getSetting().isEmpty()){
if (!reqVO.getSetting().isEmpty()) {
templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting()));
}
machineTemplateMapper.updateById(templateDO);
@@ -187,7 +186,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
// 将机台的配置进行解压
.stream()
// todo 目前需要写上,等数据清一波后,应该不需要了
.filter(m -> !Objects.equals(m.getBrandId(),null))
.filter(m -> !Objects.equals(m.getBrandId(), null))
.map(m -> m.setSetting(unzipString(m.getSetting()))).toList();
for (MachineTemplateRespVO machineTemplateRespVO : machineTemplateRespVOS) {
@@ -229,11 +228,11 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
List<Long> organIds = organTemplateRespPageRecords.stream().map(OrganTemplateResp::getOrganId).toList();
if(organIds.isEmpty()){
if (organIds.isEmpty()) {
return null;
}
List<MachineTemplateBrandReqVO> machineTemplateBrandReqVOS = machineTemplateLimitMapper.selectMachineList(organIds,page.getTemplateName());
List<MachineTemplateBrandReqVO> machineTemplateBrandReqVOS = machineTemplateLimitMapper.selectMachineList(organIds, page.getTemplateName());
// 查询品牌名称
@@ -243,14 +242,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
for (MachineTemplateBrandReqVO machineTemplateBrandReqVO : machineTemplateBrandReqVOS) {
machineTemplateBrandReqVO.setBrand(machineBrandDOS.stream()
.filter(f->f.getId().equals(machineTemplateBrandReqVO.getId()))
.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()))
.filter(f -> f.getOrganId().equals(organTemplateRespPageRecord.getOrganId()))
.toList());
}
@@ -269,7 +268,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
MachineBrandDO machineBrandDO = machineBrandMapper.selectBrand(reqVO.getBrand(), reqVO.getMachineType());
if(machineBrandDO != null){
if (machineBrandDO != null) {
throw exception(THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS);
}
@@ -307,7 +306,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
List<Long> machineIds;
if(organId != null){
if (organId != null) {
List<MachineTemplateLimitDO> machineTemplateLimitDOS = machineTemplateLimitMapper.selectListByOrganId(organId);
@@ -333,15 +332,15 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
List<MachineTemplateDO> machineTemplateDoS = machineTemplateMapper
.selectList( new MPJLambdaWrapperX<MachineTemplateDO>()
.in(MachineTemplateDO::getBrandId, brandIds)
.select(MachineTemplateDO::getId, MachineTemplateDO::getBrandId, MachineTemplateDO::getName));
.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()) {
if (!machineIds.isEmpty()) {
for (TemplateAutoResp.MachineBrand machineBrand : templateAutoResp.getMachineBrand()) {
@@ -377,7 +376,6 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
}
@Override
public Boolean updateTemplateAuth(MachineOrgAuthReq vo) {
@@ -476,19 +474,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
}
// 判断机台模板的类型
private String handleMachineType(String machineName,Integer machineType,String machineSetting) {
private String handleMachineType(String machineName, Integer machineType, String machineSetting) {
String updatedJsonString = null;
if(machineType.equals(MachineTypeEnum.CUTTING.getType())) {
if (machineType.equals(MachineTypeEnum.CUTTING.getType())) {
updatedJsonString = handleCuttingMachine(machineName, machineSetting);
} else if(machineType.equals(MachineTypeEnum.BANDING.getType())) {
} else if (machineType.equals(MachineTypeEnum.BANDING.getType())) {
updatedJsonString = handleBandingMachine(machineName, machineSetting);
}
return updatedJsonString;
@@ -503,50 +496,50 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef");
if(advancedConfigsRef.get("isAutoLabelEnabled") != null) {
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
if (isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null) {
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled") != null && advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt();
if (isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null) {
try {
Integer autoLabelModelId = advancedConfigsRef.get("autoLabelModel").asInt();
MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModelId);
try {
MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder()
.machineType(labelingMachineTemplateDO.getMachineType())
.brandId(labelingMachineTemplateDO.getBrandId())
.setting(labelingMachineTemplateDO.getSetting())
.name("开料" + machineName + "-贴标机")
.build();
MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModelId);
machineTemplateMapper.insert(labelingMachineDO);
MachineTemplateDO labelingMachineDO = MachineTemplateDO.builder()
.machineType(labelingMachineTemplateDO.getMachineType())
.brandId(labelingMachineTemplateDO.getBrandId())
.setting(labelingMachineTemplateDO.getSetting())
.name("开料" + machineName + "-贴标机")
.build();
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
machineTemplateMapper.insert(labelingMachineDO);
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipString, Map.class);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("advancedConfigsRef");
advancedConfigs.put("autoLabelModel", labelingMachineDO.getId());
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipString, Map.class);
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("advancedConfigsRef");
advancedConfigs.put("autoLabelModel", labelingMachineDO.getId());
} catch (Exception e) {
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
throw exception(LABELINGMACHINE_RELATED_DATA_ERROR);
}
} catch (Exception e) {
throw exception(LABELINGMACHINE_RELATED_DATA_ERROR);
}
}
return null;
}
private String handleBandingMachine(String machineName, String machineSetting){
private String handleBandingMachine(String machineName, String machineSetting) {
String unzipString = unzipString(machineSetting);
@@ -554,74 +547,73 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef");
if(cuttingModuleRef.get("isDrillEnabled") != null) {
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean();
if (isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null) {
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled") != null && cuttingModuleRef.get("isDrillEnabled").asBoolean();
Integer drillModelId = cuttingModuleRef.get("drillModel").asInt();
if (isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null) {
try {
Integer drillModelId = cuttingModuleRef.get("drillModel").asInt();
MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModelId);
try {
MachineTemplateDO drillMachineDO = MachineTemplateDO.builder()
.machineType(drillMachineTemplateDO.getMachineType())
.brandId(drillMachineTemplateDO.getBrandId())
.setting(drillMachineTemplateDO.getSetting())
.name("封边" + machineName + "-钻孔机")
.build();
MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(drillModelId);
machineTemplateMapper.insert(drillMachineDO);
MachineTemplateDO drillMachineDO = MachineTemplateDO.builder()
.machineType(drillMachineTemplateDO.getMachineType())
.brandId(drillMachineTemplateDO.getBrandId())
.setting(drillMachineTemplateDO.getSetting())
.name("封边" + machineName + "-钻孔机")
.build();
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
machineTemplateMapper.insert(drillMachineDO);
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipString, Map.class);
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("cuttingModuleRef");
advancedConfigs.put("drillModel", drillMachineDO.getId());
// 将 JSON 字符串解析为 Map
Map map = mapper.readValue(unzipString, Map.class);
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
// 修改值
Map<String, Object> advancedConfigs = (Map<String, Object>) map.get("cuttingModuleRef");
advancedConfigs.put("drillModel", drillMachineDO.getId());
} catch (Exception e) {
// 将 Map 转换为 JSON 字符串
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
throw exception(DRILLMACHINE_RELATED_DATA_ERROR);
}
} catch (Exception e) {
throw exception(DRILLMACHINE_RELATED_DATA_ERROR);
}
}
return null;
}
private void validateMachineTemplateExists(String name,Integer machineType,Long machineId) {
private void validateMachineTemplateExists(String name, Integer machineType, Long machineId) {
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectById(machineId);
if(machineTemplateDO == null){
if (machineTemplateDO == null) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
MachineTemplateDO machineTemplate = machineTemplateMapper.selectMachineTemplate(name, machineType,machineId);
MachineTemplateDO machineTemplate = machineTemplateMapper.selectMachineTemplate(name, machineType, machineId);
if(machineTemplate != null){
if (machineTemplate != null) {
throw exception(MACHINETEMPLATE_NAME_ERROR);
}
}
private void validateMachineTemplate(String name,Integer machineType) {
private void validateMachineTemplate(String name, Integer machineType) {
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachineTemplateName(name, machineType);
if(machineTemplateDO != null){
if (machineTemplateDO != null) {
throw exception(MACHINETEMPLATE_NAME_ERROR);
}
@@ -33,7 +33,8 @@
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}
where smt.deleted = false and smt.is_enabled = true and smt.is_default = true and smb.machine_type = #{type}
</select>