|
@@ -158,7 +158,7 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
int bomNum = Integer.parseInt(map.get("bomNum").toString());
|
|
|
MMeterialReceiveLog m = meterialReceiveLogMap.get(meterialReceiveId);
|
|
|
int usedNum = (m.getUsedNum()==null?0:m.getUsedNum());
|
|
|
- isFalse(bomNum>m.getBatchStand()+usedNum,"零件数超出");
|
|
|
+ isFalse(bomNum>m.getBatchStand()-usedNum,"零件数超出");
|
|
|
m.setUsedNum(bomNum+usedNum);
|
|
|
l.add(m);
|
|
|
}
|
|
@@ -209,6 +209,8 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
public Order update(OrderUpdateDTO data) {
|
|
|
Order order = BeanPlusUtil.toBean(data, Order.class);
|
|
|
|
|
|
+ List<OrderProduct>orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().eq(OrderProduct::getOrderId,order.getId()));
|
|
|
+ Map<Long,OrderProduct>orderProductMap = orderProductList.stream().collect(Collectors.toMap(t->t.getId(), t->t));
|
|
|
//验证炉号
|
|
|
List<OrderProductUpdateDTO> detailList = data.getOrderProductList();
|
|
|
if(detailList != null && detailList.size() > 0){
|
|
@@ -217,16 +219,28 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
Map<String,MMeterialReceiveLog> meterialReceiveLogMap = meterialReceiveLogList.stream().collect(Collectors.toMap(t->t.getId().toString(), t->t));
|
|
|
List<MMeterialReceiveLog>l = new ArrayList<MMeterialReceiveLog>();
|
|
|
for(OrderProductUpdateDTO dto:detailList){
|
|
|
+ int modifyNum = 0;
|
|
|
+ OrderProduct oriOrderProduct = orderProductMap.get(dto.getId());
|
|
|
+ if(oriOrderProduct.getBomNum().intValue() == dto.getBomNum()){
|
|
|
+ continue;
|
|
|
+ }else{//零件数量修改了
|
|
|
+ modifyNum = dto.getBomNum().intValue() - oriOrderProduct.getBomNum().intValue();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
String meterialReceiveId = dto.getMeterialReceiveId().toString();
|
|
|
int bomNum = dto.getBomNum();
|
|
|
MMeterialReceiveLog m = meterialReceiveLogMap.get(meterialReceiveId);
|
|
|
-
|
|
|
- isFalse(bomNum>m.getBatchStand()+m.getUsedNum(),"零件数超出");
|
|
|
- m.setUsedNum(bomNum+m.getUsedNum());
|
|
|
+ int usedNum = (m.getUsedNum()==null?0:m.getUsedNum());
|
|
|
+ isFalse(modifyNum>m.getBatchStand()-usedNum,"零件数超出");
|
|
|
+ m.setUsedNum(bomNum+modifyNum);
|
|
|
l.add(m);
|
|
|
}
|
|
|
//修改已用数量
|
|
|
- meterialReceiveLogService.saveOrUpdateBatch(l);
|
|
|
+ if(CollectionUtil.isNotEmpty(l)){
|
|
|
+ meterialReceiveLogService.saveOrUpdateBatch(l);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//删除明细
|