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