【工艺路线】字段类型;详情分类全路径;保存重复判断修正

This commit is contained in:
10001392 2024-12-09 16:57:52 +08:00
parent 4a18917359
commit 82bcf6a421
11 changed files with 87 additions and 17 deletions

View File

@ -0,0 +1,14 @@
package com.nflg.product.technology.mapper.master;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.product.technology.pojo.entity.MaterialCategoryEntity;
/**
* 物料分类信息表(MaterialCategory)$desc
*
* @author 大米
* @since 2022-08-06 14:35:59
*/
public interface MaterialCategoryMapper extends BaseMapper<MaterialCategoryEntity> {
}

View File

@ -32,7 +32,7 @@ public class ProcessRouteTaskAssemblyEntity implements Serializable {
// 虚拟装配0=false1=true
@TableField(value = "virtual_assembly")
private Integer virtualAssembly;
private Boolean virtualAssembly;
// PBOM父行ID
@TableField(value = "source_row_id")
@ -68,7 +68,7 @@ public class ProcessRouteTaskAssemblyEntity implements Serializable {
// 是否反冲0=false1=true
@TableField(value = "recoil")
private Integer recoil;
private Boolean recoil;
// 操作/活动
@TableField(value = "processe")
@ -88,7 +88,7 @@ public class ProcessRouteTaskAssemblyEntity implements Serializable {
// 删除标记0=未删除1=已删除
@TableField(value = "del_flag")
private Integer delFlag;
private Boolean delFlag;
// 创建人
@TableField(value = "created_by",fill = FieldFill.INSERT)

View File

@ -51,11 +51,11 @@ public class ProcessRouteTaskEntity implements Serializable {
// 从批量
@TableField(value = "from_batch")
private String fromBatch;
private Integer fromBatch;
// 到批量
@TableField(value = "to_batch")
private String toBatch;
private Integer toBatch;
// 有效起始日
@TableField(value = "expire_start_time")
@ -67,7 +67,7 @@ public class ProcessRouteTaskEntity implements Serializable {
// 删除标记0=未删除1=已删除
@TableField(value = "del_flag")
private Integer delFlag;
private Boolean delFlag;
// 创建人
@TableField(value = "created_by",fill = FieldFill.INSERT)

View File

@ -120,7 +120,7 @@ public class ProcessRouteTaskProcessesEntity implements Serializable {
// 删除标记0=未删除1=已删除
@TableField(value = "del_flag")
private Integer delFlag;
private Boolean delFlag;
// 创建人
@TableField(value = "created_by",fill = FieldFill.INSERT)

View File

@ -28,7 +28,7 @@ public class ProcessRouteTaskAssemblyVO implements Serializable {
private Long taskRowId;
// 虚拟装配0=false1=true
private Integer virtualAssembly;
private Boolean virtualAssembly;
// PBOM父行ID
private Long sourceRowId;
@ -55,7 +55,7 @@ public class ProcessRouteTaskAssemblyVO implements Serializable {
private String projectType;
// 是否反冲0=false1=true
private Integer recoil;
private Boolean recoil;
// 操作/活动
private String processe;
@ -72,7 +72,7 @@ public class ProcessRouteTaskAssemblyVO implements Serializable {
private LocalDateTime expireEndTime;
// 删除标记0=未删除1=已删除
private Integer delFlag;
private Boolean delFlag;
// 创建人
private String createdBy;

View File

@ -55,11 +55,11 @@ public class ProcessRouteTaskExcelVO extends BaseImportExcelDTO implements Seria
// 从批量
@ExcelColumn("从批量")
private String fromBatch;
private Integer fromBatch;
// 到批量
@ExcelColumn("到批量")
private String toBatch;
private Integer toBatch;
// 有效起始日
@ExcelColumn("有效起始日")
@ -73,7 +73,7 @@ public class ProcessRouteTaskExcelVO extends BaseImportExcelDTO implements Seria
// 删除标记0=未删除1=已删除
@ExcelColumn("删除标记0=未删除、1=已删除")
private Integer delFlag;
private Boolean delFlag;
// 创建人
@ExcelColumn("创建人")

View File

@ -110,7 +110,7 @@ public class ProcessRouteTaskProcessesVO implements Serializable {
private BigDecimal nonWorkHours;
// 删除标记0=未删除1=已删除
private Integer delFlag;
private Boolean delFlag;
// 创建人
private String createdBy;

View File

@ -43,10 +43,10 @@ public class ProcessRouteTaskVO extends BaseMaterialVO implements Serializable {
private Integer status;
// 从批量
private String fromBatch;
private Integer fromBatch;
// 到批量
private String toBatch;
private Integer toBatch;
// 有效起始日
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT-8")
@ -57,7 +57,7 @@ public class ProcessRouteTaskVO extends BaseMaterialVO implements Serializable {
private LocalDateTime expireEndTime;
// 删除标记0=未删除1=已删除
private Integer delFlag;
private Boolean delFlag;
// 创建人
private String createdBy;

View File

@ -0,0 +1,18 @@
package com.nflg.product.technology.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.product.technology.mapper.master.MaterialCategoryMapper;
import com.nflg.product.technology.pojo.entity.MaterialCategoryEntity;
import org.springframework.stereotype.Service;
/**
* 物料分类信息表(MaterialCategory)$desc
*
* @author 大米
* @since 2022-08-06 14:35:58
*/
@Service
public class MaterialCategoryService extends ServiceImpl<MaterialCategoryMapper, MaterialCategoryEntity> {
}

View File

@ -4,8 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.nflg.product.technology.mapper.master.MaterialMainMapper;
import com.nflg.product.technology.pojo.entity.MaterialCategoryEntity;
import com.nflg.product.technology.pojo.entity.MaterialMainEntity;
import com.nflg.product.technology.pojo.vo.BaseMaterialVO;
import com.nflg.product.technology.util.ListCommonUtil;
@ -79,4 +82,37 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
}
}
public <T extends BaseMaterialVO> void buildCategoryFullName(List<T> data) {
if(!data.isEmpty()){
List<String> codeList = data.stream().map(m -> {
List<String> cList = Lists.newArrayList();
String code = m.getMaterialCategoryCode();
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= code.length(); i++) {
sb.append(code.charAt(i-1));
if(i % 2 == 0){
cList.add(sb.toString());
}
}
return cList;
}).filter(CollUtil::isNotEmpty).flatMap(List::stream).distinct().collect(Collectors.toList());
List<MaterialCategoryEntity> categoryList = SpringUtil.getBean(MaterialCategoryService.class).list(Wrappers.<MaterialCategoryEntity>lambdaQuery().in(MaterialCategoryEntity::getCategoryCode,codeList));
Map<String,String> categoryMap = categoryList.stream().collect(Collectors.toMap(MaterialCategoryEntity::getCategoryCode,MaterialCategoryEntity::getCategoryName,(k1,k2) -> k1));
data.forEach(m -> {
String code = m.getMaterialCategoryCode();
List<String> cList = Lists.newArrayList();
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= code.length(); i++) {
sb.append(code.charAt(i-1));
if(i % 2 == 0){
cList.add(categoryMap.get(sb.toString()));
}
}
m.setCategoryName(cList.stream().collect(Collectors.joining("/")));
});
}
}
}

View File

@ -89,6 +89,7 @@ public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper,
ProcessRouteTaskVO processRouteTaskVO = Convert.convert(ProcessRouteTaskVO.class, processRouteTaskEntity);
if (ObjectUtil.isNotEmpty(processRouteTaskVO)) {
materialMainService.intiMaterialInfo(Collections.singletonList(processRouteTaskVO), "");
materialMainService.buildCategoryFullName(Collections.singletonList(processRouteTaskVO));
}
List<ProcessRouteTaskProcessesEntity> taskProcessesEntityList = processRouteTaskProcessesService.lambdaQuery().eq(ProcessRouteTaskProcessesEntity::getTaskRowId, rowId).list();
if (ObjectUtil.isNotEmpty(taskProcessesEntityList)) {
@ -178,6 +179,7 @@ public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper,
}
List<ProcessRouteTaskEntity> existsTaskList = this.lambdaQuery().eq(ProcessRouteTaskEntity::getFactory, processRouteTaskVO.getFactory())
.eq(ProcessRouteTaskEntity::getMaterialNo, processRouteTaskVO.getMaterialNo())
.ne(ObjectUtil.isNotEmpty(processRouteTaskVO.getRowId()), ProcessRouteTaskEntity::getRowId, processRouteTaskVO.getRowId())
.list();
if (CollUtil.isNotEmpty(existsTaskList)) {
// 已存在