diff --git a/src/main/java/com/letian/modules/production/dao/PalletMapper.java b/src/main/java/com/letian/modules/production/dao/PalletMapper.java index 56851d6..23af8a1 100644 --- a/src/main/java/com/letian/modules/production/dao/PalletMapper.java +++ b/src/main/java/com/letian/modules/production/dao/PalletMapper.java @@ -291,6 +291,7 @@ public interface PalletMapper { void deleteSOSList(@Param("site") String site,@Param("workCenterNo") String workCenterNo,@Param("resourceId") String resourceId,@Param("seqNo") Integer seqNo); List getSOScheduleDataBySerialNo(@Param("site") String site,@Param("serialNo") String serialNo); + List getSOScheduleDataBySerialNo1(@Param("site") String site,@Param("serialNo1") String serialNo1); /** * @Description 查下这个序列号是否存在 * @Title diff --git a/src/main/java/com/letian/modules/production/service/impl/PalletServiceImpl.java b/src/main/java/com/letian/modules/production/service/impl/PalletServiceImpl.java index 7dc5d2a..ecc207e 100644 --- a/src/main/java/com/letian/modules/production/service/impl/PalletServiceImpl.java +++ b/src/main/java/com/letian/modules/production/service/impl/PalletServiceImpl.java @@ -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 scheduleSerialNos = getSOScheduleBySerialNoOrSerialNo1(inData.getSite(), serialNo); + if(scheduleSerialNos.size() == 0){ + throw new RuntimeException("序列号" + serialNo + "没有派工无法入库"); + } + } //乐天需要每个订单生成一条单据 通过查到的orderNo区分 Map> 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 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 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) { - if (getSOScheduleData.getQtyRequired() <= getSOScheduleData.getQtyReported()) { - palletMapper.updateSOSdelFlag(site, inSerialNo.get(0).getOrderNo(), inSerialNo.get(0).getScheduleDate(), inSerialNo.get(0).getShiftNo(), userId, inSerialNo.get(0).getItemNo(),inSerialNo.get(0).getSeqNo()); - palletMapper.deleteSOSList(site, getSOScheduleData.getsWorkCenterNo(), getSOScheduleData.getsResourceID(), getSOScheduleData.getSeqNo()); - } + 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) { + if (getSOScheduleData.getQtyRequired() <= getSOScheduleData.getQtyReported()) { + palletMapper.updateSOSdelFlag(site, inSerialNo.get(0).getOrderNo(), inSerialNo.get(0).getScheduleDate(), inSerialNo.get(0).getShiftNo(), userId, inSerialNo.get(0).getItemNo(),inSerialNo.get(0).getSeqNo()); + palletMapper.deleteSOSList(site, getSOScheduleData.getsWorkCenterNo(), getSOScheduleData.getsResourceID(), getSOScheduleData.getSeqNo()); } - }else { - logger.info(site+" - "+inList.get(j).getSerialNo()+" 更新入库"); } } //批量保存当前的序列号数据 @@ -422,6 +430,17 @@ public class PalletServiceImpl implements PalletService { return responseData; } + /** + * 先按ScheduleSerialNoList.SerialNo查询,查不到再按SerialNo1查询。rqrq + */ + private List getSOScheduleBySerialNoOrSerialNo1(String site, String serialNo){ + List scheduleSerialNos = palletMapper.getSOScheduleDataBySerialNo(site, serialNo); + if(scheduleSerialNos.size() == 0){ + scheduleSerialNos = palletMapper.getSOScheduleDataBySerialNo1(site, serialNo); + } + return scheduleSerialNos; + } + @Override public List getPalletFillDetailPartData(PalletFillDetailData inData){ PalletListData newData=new PalletListData(); diff --git a/src/main/resources/mapper/production/PalletMapper.xml b/src/main/resources/mapper/production/PalletMapper.xml index 383ab0f..f731d79 100644 --- a/src/main/resources/mapper/production/PalletMapper.xml +++ b/src/main/resources/mapper/production/PalletMapper.xml @@ -216,6 +216,9 @@ +