mes物料拆分处理
parent
ac8c9098b6
commit
984d32e185
|
|
@ -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`")
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue