mes物料拆分处理

main
HUOJIN\92525 2025-02-12 11:27:35 +08:00
parent ac8c9098b6
commit 984d32e185
4 changed files with 31 additions and 10 deletions

View File

@ -107,7 +107,7 @@ public class PickDetail extends BaseEntity implements Serializable {
private String propC2; private String propC2;
@Column(name = "`prop_c3`") @Column(name = "`prop_c3`")
@ApiModelProperty(value = "属性3") @ApiModelProperty(value = "mes拆分物料")
private String propC3; private String propC3;
@Column(name = "`prop_c4`") @Column(name = "`prop_c4`")

View File

@ -45,6 +45,10 @@ public class TaskQueryCriteria{
@Query(type = Query.Type.INNER_LIKE) @Query(type = Query.Type.INNER_LIKE)
private String dstLocCode; private String dstLocCode;
/** 模糊 */
@Query(joinName = "pickDetail>pick>", propName="code" ,type = Query.Type.RIGHT_LIKE)
private String pickCode;
@Query(joinName = "item", propName="code",type = Query.Type.INNER_LIKE) @Query(joinName = "item", propName="code",type = Query.Type.INNER_LIKE)
private String itemCode; private String itemCode;

View File

@ -73,7 +73,14 @@ public class MesServiceImpl implements MesService {
Pick pick = createPick(orderNo, taskCode, zcData.getLineNo(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT); Pick pick = createPick(orderNo, taskCode, zcData.getLineNo(), zcData.getCompleteCode(), zcData.getStation(), BaseStatus.GD_TYPE_CT);
createPicks.add(pick); createPicks.add(pick);
zcData.getBlzcmx().forEach(itemDate -> { zcData.getBlzcmx().forEach(itemDate -> {
Item item = itemRepository.findByCode(itemDate.getItemCode()); //如果物料长度大于11说明是MES拆分了订单物料编号改变了处理00
String itemCode = itemDate.getItemCode().length() > 11
? itemDate.getItemCode().substring(0, 11)
: itemDate.getItemCode();
String splitItemCode = itemDate.getItemCode().length() > 11
? itemDate.getItemCode()
: null;
Item item = itemRepository.findByCode(itemCode);
if (item == null) { if (item == null) {
item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.XJ); item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.XJ);
} else { } else {
@ -81,7 +88,7 @@ public class MesServiceImpl implements MesService {
item.setExtendD1(itemDate.getItemQty()); item.setExtendD1(itemDate.getItemQty());
itemRepository.save(item); itemRepository.save(item);
} }
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty()); PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_CT, itemDate.getItemQty(), zcData.getCompleteQty(), splitItemCode);
createPickDetails.add(pickDetail); createPickDetails.add(pickDetail);
}); });
}); });
@ -90,7 +97,14 @@ public class MesServiceImpl implements MesService {
yclbl.getBlzcmx().forEach(itemDate -> { yclbl.getBlzcmx().forEach(itemDate -> {
Pick pick = createPick(orderNo, taskCode, itemDate.getLineNo(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP); Pick pick = createPick(orderNo, taskCode, itemDate.getLineNo(), itemDate.getItemCode(), itemDate.getStation(), BaseStatus.GD_TYPE_DP);
createPicks.add(pick); createPicks.add(pick);
Item item = itemRepository.findByCode(itemDate.getItemCode()); //如果物料长度大于11说明是MES拆分了订单物料编号改变了处理00
String itemCode = itemDate.getItemCode().length() > 11
? itemDate.getItemCode().substring(0, 11)
: itemDate.getItemCode();
String splitItemCode = itemDate.getItemCode().length() > 11
? itemDate.getItemCode()
: null;
Item item = itemRepository.findByCode(itemCode);
if (item == null) { if (item == null) {
item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.DJ); item = itemService.createItem(itemDate.getItemCode(), itemDate.getItemName(), itemDate.getItemQty(), BizStatus.DJ);
} else { } else {
@ -98,7 +112,7 @@ public class MesServiceImpl implements MesService {
item.setExtendD1(itemDate.getItemQty()); item.setExtendD1(itemDate.getItemQty());
itemRepository.save(item); itemRepository.save(item);
} }
PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null); PickDetail pickDetail = createPickDetail(pick, item, BaseStatus.GD_TYPE_DP, itemDate.getItemQty(), null,splitItemCode);
createPickDetails.add(pickDetail); createPickDetails.add(pickDetail);
}); });
@ -112,6 +126,7 @@ public class MesServiceImpl implements MesService {
} }
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void itemCall(String gdNo, String itemCode, String station, String pointCode) { public void itemCall(String gdNo, String itemCode, String station, String pointCode) {
@ -232,7 +247,7 @@ public class MesServiceImpl implements MesService {
return pick; return pick;
} }
public PickDetail createPickDetail(Pick pick, Item item, String orderType, Double itemQty, Double bigItemQty) { public PickDetail createPickDetail(Pick pick, Item item, String orderType, Double itemQty, Double bigItemQty, String splitItemCode) {
AtomicInteger lineNo = new AtomicInteger(1); AtomicInteger lineNo = new AtomicInteger(1);
PickDetail pickDetail = new PickDetail(); PickDetail pickDetail = new PickDetail();
pickDetail.setPick(pick); pickDetail.setPick(pick);
@ -244,6 +259,7 @@ public class MesServiceImpl implements MesService {
} else { } else {
pickDetail.setOrderQty(itemQty); pickDetail.setOrderQty(itemQty);
} }
pickDetail.setPropC3(splitItemCode);
pickDetail.setDept(pick.getDept()); pickDetail.setDept(pick.getDept());
return pickDetail; return pickDetail;
} }
@ -376,18 +392,18 @@ public class MesServiceImpl implements MesService {
private void moveFxBack(TransTask transTask) { private void moveFxBack(TransTask transTask) {
String srcPointCode = transTask.getPointCode(); String srcPointCode = transTask.getPointCode();
if(!"FX001".equals(srcPointCode)){ if (!"FX001".equals(srcPointCode)) {
throw new BadRequestException("返修点位不正确,请核实"); throw new BadRequestException("返修点位不正确,请核实");
} }
//根据状态查询任务 //根据状态查询任务
List<AgvTask> agvTaskList = agvTaskService.findByStatus(BizStatus.ARRIVED); List<AgvTask> agvTaskList = agvTaskService.findByStatus(BizStatus.ARRIVED);
if(agvTaskList.isEmpty()){ if (agvTaskList.isEmpty()) {
throw new BadRequestException("任务还未达到FX001返修点请稍后再试!"); throw new BadRequestException("任务还未达到FX001返修点请稍后再试!");
} }
AgvTask agvTask = agvTaskList.get(0); AgvTask agvTask = agvTaskList.get(0);
//任务放行 //任务放行
kmReService.sendAgvTaskToContainer(UrlApi.operationFeedback(),kmReService.operationFeedbackJson(agvTask)); kmReService.sendAgvTaskToContainer(UrlApi.operationFeedback(), kmReService.operationFeedbackJson(agvTask));
} }
} }

View File

@ -177,7 +177,8 @@ public class PickServiceImpl implements PickService {
//工单号 //工单号
jsonObject.put("OrderCode", pickDetail.getPick().getGdCode()); jsonObject.put("OrderCode", pickDetail.getPick().getGdCode());
//物料编码 //物料编码
jsonObject.put("MaterialCode", pickDetail.getItem().getCode()); String itemCode = pickDetail.getPropC3() == null ? pickDetail.getItem().getCode() : pickDetail.getPropC3();
jsonObject.put("MaterialCode", itemCode);
//数量 //数量
jsonObject.put("number", pickDetail.getOrderQty() == null ? 0 : pickDetail.getOrderQty().intValue()); jsonObject.put("number", pickDetail.getOrderQty() == null ? 0 : pickDetail.getOrderQty().intValue());
//taskId //taskId