优化生产保存接口-获得生产单数据源接口逻辑修改-新增排单接口逻辑修改

This commit is contained in:
liuzhaotian
2024-06-07 18:18:57 +08:00
parent bcbc2d3ab6
commit 6d5b232d7a
36 changed files with 1218 additions and 262 deletions
@@ -0,0 +1,28 @@
package com.cf.imes.framework.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum PlanFilterTypeEnum {
DIGGINGTHROUGHTHESHAPE(1,"有挖穿造型"),
THEREAREPERFORATEDHOLES(2,"有挖穿孔"),
TWODIMENSIONALCUTTINGPATH(4,"有二维刀路"),
STACKABLE(8,"可叠");
private Integer type;
private String filterNames;
public boolean equals(Integer type) {
return this.type .equals(type) ;
}
public boolean equals(PlanFilterTypeEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.type .equals(this.getType()) ;
}
}
@@ -0,0 +1,29 @@
package com.cf.imes.framework.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum PlanStatusEnum {
NEWORDER(0,"新单"),
BOARDHASBEENAPPLIEDFOR(1,"板材已申请"),
DURINGCUTTING(2,"开料中"),
OPENEDMATERIAL(3,"已开料");
private Integer status;
private String scheduling;
public boolean equals(Integer status) {
return this.status .equals(status) ;
}
public boolean equals(PlanStatusEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ;
}
}
@@ -0,0 +1,25 @@
package com.cf.imes.framework.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum ProcessProcessingTypeEnum {
COMPONENTPROCESSING(7L,"组件加工");
private Long number;
private String fabricatedItem;
public boolean equals(Integer number) {
return this.number .equals(number) ;
}
public boolean equals(ProcessProcessingTypeEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.number .equals(this.getNumber()) ;
}
}
@@ -0,0 +1,20 @@
package com.cf.imes.framework.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum RemainTypeEnum {
WRITEOFF(0,"核销"),
SCHEDULING(1,"排单"),
PATCHINGPLATE(2,"补板");
private Integer type;
private String useType;
}
@@ -59,6 +59,15 @@ public interface ESDocumentService {
<T> BulkResponse bulkCreate(String idxName, List<?extends ESDocument> documents) throws Exception;
/**
* 批量更新文档
* @param idxName 索引名
* @param documents 要更新的对象集合
* @return 批量更新的结果
*/
<T> BulkResponse bulkUpdate(String idxName, List<?extends ESDocument> documents) throws Exception;
/**
* 根据文档id查找文档
* @param idxName 索引名
@@ -156,6 +156,40 @@ public class ESDocumentServiceImpl implements ESDocumentService {
return elasticsearchClient.bulk(br.build());
}
/**
* 批量方式更新文档
*
* @param idxName 索引名
* @param documents 要更新的对象集合
*/
@Override
public <T> BulkResponse bulkUpdate(String idxName, List<? extends ESDocument> documents) throws Exception {
BulkRequest.Builder br = new BulkRequest.Builder();
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
Date date = new Date();
documents.forEach(esDocument -> {
// 假设esDocument有一个ID集。如果没有,则应该抛出异常或进行相应的处理。
if (StrUtil.isBlank(esDocument.getId())) {
throw new IllegalArgumentException("更新操作的文档ID不能为空");
}
esDocument.setUpdater(loginUser.getNickname());
esDocument.setUpdateTime(simpleDateFormat.format(date));
br.operations(op -> op.update(u -> u
.index(idxName)
.id(esDocument.getId())
.action(a -> a
.doc(esDocument))));
});
return elasticsearchClient.bulk(br.build());
}
/**
* @param idxName 索引名称
* @param docId 文档id