|
|
|
@ -226,6 +226,14 @@ public class PalletServiceImpl implements PalletService { |
|
|
|
if(!"已装货".equals(check.get(0).getStatus())){ |
|
|
|
throw new RuntimeException("该栈板状态不为已装货无法入库!"); |
|
|
|
} |
|
|
|
// 入库前校验派工:先按SerialNo查,查不到再按SerialNo1查。rqrq |
|
|
|
for (int i = 0; i < inLists.size(); i++) { |
|
|
|
String serialNo = inLists.get(i).getSerialNo(); |
|
|
|
List<ScheduleSerialNoListData> scheduleSerialNos = getSOScheduleBySerialNoOrSerialNo1(inData.getSite(), serialNo); |
|
|
|
if(scheduleSerialNos.size() == 0){ |
|
|
|
throw new RuntimeException("序列号" + serialNo + "没有派工无法入库"); |
|
|
|
} |
|
|
|
} |
|
|
|
//乐天需要每个订单生成一条单据 通过查到的orderNo区分 |
|
|
|
Map<String, List<StockDataInData>> collect = inLists.stream().collect(Collectors.groupingBy(StockDataInData::getOrderNo)); |
|
|
|
|
|
|
|
@ -379,7 +387,12 @@ public class PalletServiceImpl implements PalletService { |
|
|
|
detailSub.setOrderTypeRefDb("S"); |
|
|
|
detailSub.setUserId(userId); |
|
|
|
detailSub.setTransNo(transNo); |
|
|
|
detailSub.setOrderRef2((float)inList.get(j).getSeqNo()); |
|
|
|
// 先查SerialNo,查不到再查SerialNo1,确保派工记录命中。rqrq |
|
|
|
List<ScheduleSerialNoListData> inSerialNo = getSOScheduleBySerialNoOrSerialNo1(site, inList.get(j).getSerialNo()); |
|
|
|
if(inSerialNo.size() == 0){ |
|
|
|
throw new RuntimeException("序列号" + inList.get(j).getSerialNo() + "没有派工无法入库"); |
|
|
|
} |
|
|
|
detailSub.setOrderRef2((float)inSerialNo.get(0).getSeqNo()); |
|
|
|
for (int k = 0; k <transDetails.size() ; k++) { |
|
|
|
if(detailSub.getOrderRef1().equals(transDetails.get(k).getOrderRef1())){ |
|
|
|
detailSub.setItemNo(transDetails.get(k).getItemNo()); |
|
|
|
@ -391,8 +404,6 @@ public class PalletServiceImpl implements PalletService { |
|
|
|
detailSub.setTransDate(new Date()); |
|
|
|
detailSubs.add(detailSub); |
|
|
|
//更新派工单上报工数量 |
|
|
|
List<ScheduleSerialNoListData> inSerialNo=palletMapper.getSOScheduleDataBySerialNo(site,inList.get(j).getSerialNo()); |
|
|
|
if(inSerialNo.size()>0){ |
|
|
|
palletMapper.updateQtyReported(site,inSerialNo.get(0).getOrderNo(),inSerialNo.get(0).getScheduleDate(),inSerialNo.get(0).getShiftNo(),inSerialNo.get(0).getItemNo(),inSerialNo.get(0).getSeqNo()); |
|
|
|
SOScheduledRoutingData getSOScheduleData= palletMapper.getSOScheduleData(site,inSerialNo.get(0).getOrderNo(),inSerialNo.get(0).getScheduleDate(),inSerialNo.get(0).getShiftNo(),inSerialNo.get(0).getItemNo(),inSerialNo.get(0).getSeqNo()); |
|
|
|
if(getSOScheduleData!=null) { |
|
|
|
@ -401,9 +412,6 @@ public class PalletServiceImpl implements PalletService { |
|
|
|
palletMapper.deleteSOSList(site, getSOScheduleData.getsWorkCenterNo(), getSOScheduleData.getsResourceID(), getSOScheduleData.getSeqNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
}else { |
|
|
|
logger.info(site+" - "+inList.get(j).getSerialNo()+" 更新入库"); |
|
|
|
} |
|
|
|
} |
|
|
|
//批量保存当前的序列号数据 |
|
|
|
logger.info("保存detailSubs"+JSON.toJSONString(detailSubs)); |
|
|
|
@ -422,6 +430,17 @@ public class PalletServiceImpl implements PalletService { |
|
|
|
return responseData; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 先按ScheduleSerialNoList.SerialNo查询,查不到再按SerialNo1查询。rqrq |
|
|
|
*/ |
|
|
|
private List<ScheduleSerialNoListData> getSOScheduleBySerialNoOrSerialNo1(String site, String serialNo){ |
|
|
|
List<ScheduleSerialNoListData> scheduleSerialNos = palletMapper.getSOScheduleDataBySerialNo(site, serialNo); |
|
|
|
if(scheduleSerialNos.size() == 0){ |
|
|
|
scheduleSerialNos = palletMapper.getSOScheduleDataBySerialNo1(site, serialNo); |
|
|
|
} |
|
|
|
return scheduleSerialNos; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<PalletFillDetailData> getPalletFillDetailPartData(PalletFillDetailData inData){ |
|
|
|
PalletListData newData=new PalletListData(); |
|
|
|
|