常熟吴彦祖 7 days ago
parent
commit
341eba4191
  1. 1
      src/main/java/com/letian/modules/production/dao/PalletMapper.java
  2. 31
      src/main/java/com/letian/modules/production/service/impl/PalletServiceImpl.java
  3. 3
      src/main/resources/mapper/production/PalletMapper.xml

1
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); void deleteSOSList(@Param("site") String site,@Param("workCenterNo") String workCenterNo,@Param("resourceId") String resourceId,@Param("seqNo") Integer seqNo);
List<ScheduleSerialNoListData> getSOScheduleDataBySerialNo(@Param("site") String site,@Param("serialNo") String serialNo); List<ScheduleSerialNoListData> getSOScheduleDataBySerialNo(@Param("site") String site,@Param("serialNo") String serialNo);
List<ScheduleSerialNoListData> getSOScheduleDataBySerialNo1(@Param("site") String site,@Param("serialNo1") String serialNo1);
/** /**
* @Description 查下这个序列号是否存在 * @Description 查下这个序列号是否存在
* @Title * @Title

31
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())){ if(!"已装货".equals(check.get(0).getStatus())){
throw new RuntimeException("该栈板状态不为已装货无法入库!"); 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区分 //乐天需要每个订单生成一条单据 通过查到的orderNo区分
Map<String, List<StockDataInData>> collect = inLists.stream().collect(Collectors.groupingBy(StockDataInData::getOrderNo)); 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.setOrderTypeRefDb("S");
detailSub.setUserId(userId); detailSub.setUserId(userId);
detailSub.setTransNo(transNo); 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++) { for (int k = 0; k <transDetails.size() ; k++) {
if(detailSub.getOrderRef1().equals(transDetails.get(k).getOrderRef1())){ if(detailSub.getOrderRef1().equals(transDetails.get(k).getOrderRef1())){
detailSub.setItemNo(transDetails.get(k).getItemNo()); detailSub.setItemNo(transDetails.get(k).getItemNo());
@ -391,8 +404,6 @@ public class PalletServiceImpl implements PalletService {
detailSub.setTransDate(new Date()); detailSub.setTransDate(new Date());
detailSubs.add(detailSub); 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()); 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()); 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!=null) {
@ -401,9 +412,6 @@ public class PalletServiceImpl implements PalletService {
palletMapper.deleteSOSList(site, getSOScheduleData.getsWorkCenterNo(), getSOScheduleData.getsResourceID(), getSOScheduleData.getSeqNo()); palletMapper.deleteSOSList(site, getSOScheduleData.getsWorkCenterNo(), getSOScheduleData.getsResourceID(), getSOScheduleData.getSeqNo());
} }
} }
}else {
logger.info(site+" - "+inList.get(j).getSerialNo()+" 更新入库");
}
} }
//批量保存当前的序列号数据 //批量保存当前的序列号数据
logger.info("保存detailSubs"+JSON.toJSONString(detailSubs)); logger.info("保存detailSubs"+JSON.toJSONString(detailSubs));
@ -422,6 +430,17 @@ public class PalletServiceImpl implements PalletService {
return responseData; 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 @Override
public List<PalletFillDetailData> getPalletFillDetailPartData(PalletFillDetailData inData){ public List<PalletFillDetailData> getPalletFillDetailPartData(PalletFillDetailData inData){
PalletListData newData=new PalletListData(); PalletListData newData=new PalletListData();

3
src/main/resources/mapper/production/PalletMapper.xml

@ -216,6 +216,9 @@
<select id="getSOScheduleDataBySerialNo" resultType="com.letian.modules.production.entity.ScheduleSerialNoListData"> <select id="getSOScheduleDataBySerialNo" resultType="com.letian.modules.production.entity.ScheduleSerialNoListData">
select site,OrderNo,ItemNo,ScheduleDate,ShiftNo,SerialNo,PartNo,seqNo from ScheduleSerialNoList where site=#{site} and SerialNo=#{serialNo} select site,OrderNo,ItemNo,ScheduleDate,ShiftNo,SerialNo,PartNo,seqNo from ScheduleSerialNoList where site=#{site} and SerialNo=#{serialNo}
</select> </select>
<select id="getSOScheduleDataBySerialNo1" resultType="com.letian.modules.production.entity.ScheduleSerialNoListData">
select site,OrderNo,ItemNo,ScheduleDate,ShiftNo,SerialNo,PartNo,seqNo from ScheduleSerialNoList where site=#{site} and SerialNo1=#{serialNo1}
</select>
<select id="checkSerialNoPallet" resultType="com.letian.modules.production.entity.PalletFillDetailData"> <select id="checkSerialNoPallet" resultType="com.letian.modules.production.entity.PalletFillDetailData">
SELECT pallet_no from Pallet_FillDetail where SerialNo=#{serialNo} SELECT pallet_no from Pallet_FillDetail where SerialNo=#{serialNo}

Loading…
Cancel
Save