|
|
@ -818,6 +818,23 @@ public class DailyPlanServiceImpl implements DailyPlanService { |
|
|
if(checkScheduleList.size()==0){ |
|
|
if(checkScheduleList.size()==0){ |
|
|
dailyPlanMapper.saveScheduleList(inData); |
|
|
dailyPlanMapper.saveScheduleList(inData); |
|
|
} |
|
|
} |
|
|
|
|
|
//防止多派 |
|
|
|
|
|
Double scheduledQty=dailyPlanMapper.getShopOrderScheduledQty(inData.getSite(),inData.getOrderNo(),inData.getItemNo()); |
|
|
|
|
|
ShopOrderData getOrderNoLotSizeSchedulingSize=dailyPlanMapper.getOrderNoLotSizeSchedulingSize(inData.getSite(),inData.getOrderNo()); |
|
|
|
|
|
if(getOrderNoLotSizeSchedulingSize==null){ |
|
|
|
|
|
throw new RuntimeException("该生产订单不存在!"); |
|
|
|
|
|
} |
|
|
|
|
|
Double maxSchedule=getOrderNoLotSizeSchedulingSize.getLotSize()*1.1; |
|
|
|
|
|
if(getOrderNoLotSizeSchedulingSize.getSchedulingSize()!=null&&getOrderNoLotSizeSchedulingSize.getSchedulingSize()>0.0){ |
|
|
|
|
|
maxSchedule= Math.ceil(maxSchedule/getOrderNoLotSizeSchedulingSize.getSchedulingSize())*getOrderNoLotSizeSchedulingSize.getSchedulingSize(); |
|
|
|
|
|
} |
|
|
|
|
|
Double toScheduledQty=inData.getSumQty().doubleValue(); |
|
|
|
|
|
if(scheduledQty+toScheduledQty>maxSchedule){ |
|
|
|
|
|
throw new RuntimeException("该生产订单已经派工 "+scheduledQty+",将超过最大允许派工数量 "+Math.ceil(maxSchedule)+"! 无法继续派工。"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i <inData.getScheduleDetail().size() ; i++) { |
|
|
for (int i = 0; i <inData.getScheduleDetail().size() ; i++) { |
|
|
int seqNo=dailyPlanMapper.getDataSequence(); |
|
|
int seqNo=dailyPlanMapper.getDataSequence(); |
|
|
dailyPlanMapper.updateDataSequence(); |
|
|
dailyPlanMapper.updateDataSequence(); |
|
|
@ -866,6 +883,23 @@ public class DailyPlanServiceImpl implements DailyPlanService { |
|
|
if(checkTool.size()==0){ |
|
|
if(checkTool.size()==0){ |
|
|
throw new RuntimeException("该生产订单未维护工具!"); |
|
|
throw new RuntimeException("该生产订单未维护工具!"); |
|
|
} |
|
|
} |
|
|
|
|
|
//防止多派 |
|
|
|
|
|
Double scheduledQty=dailyPlanMapper.getShopOrderScheduledQty(inData.getSite(),inData.getOrderRef1(),inData.getItemNo()); |
|
|
|
|
|
ShopOrderData getOrderNoLotSizeSchedulingSize=dailyPlanMapper.getOrderNoLotSizeSchedulingSize(inData.getSite(),inData.getOrderRef1()); |
|
|
|
|
|
if(getOrderNoLotSizeSchedulingSize==null){ |
|
|
|
|
|
throw new RuntimeException("该生产订单不存在!"); |
|
|
|
|
|
} |
|
|
|
|
|
Double maxSchedule=getOrderNoLotSizeSchedulingSize.getLotSize()*1.1; |
|
|
|
|
|
if(getOrderNoLotSizeSchedulingSize.getSchedulingSize()!=null&&getOrderNoLotSizeSchedulingSize.getSchedulingSize()>0.0){ |
|
|
|
|
|
maxSchedule= Math.ceil(maxSchedule/getOrderNoLotSizeSchedulingSize.getSchedulingSize())*getOrderNoLotSizeSchedulingSize.getSchedulingSize(); |
|
|
|
|
|
} |
|
|
|
|
|
Double toScheduledQty=inData.getSumQty().doubleValue(); |
|
|
|
|
|
if(scheduledQty+toScheduledQty>maxSchedule){ |
|
|
|
|
|
throw new RuntimeException("该生产订单已经派工 "+scheduledQty+",将超过最大允许派工数量 "+Math.ceil(maxSchedule)+"! 无法继续派工。"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i <inData.getScheduleDetail().size() ; i++) { |
|
|
for (int i = 0; i <inData.getScheduleDetail().size() ; i++) { |
|
|
int seqNo=dailyPlanMapper.getDataSequence(); |
|
|
int seqNo=dailyPlanMapper.getDataSequence(); |
|
|
dailyPlanMapper.updateDataSequence(); |
|
|
dailyPlanMapper.updateDataSequence(); |
|
|
|