| | |
| | | } |
| | | // 修改订单明细 |
| | | if (BaseController.isJSON(locDto.getOrderNo())) { |
| | | OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); |
| | | if (orderDetl == null) { |
| | | orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); |
| | | String[] orderNos = GetOrderNo(locDto.getOrderNo()); |
| | | Double anfme = locDto.getAnfme(); |
| | | for (String orderNo:orderNos){ |
| | | OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch()); |
| | | if (orderDetl == null) { |
| | | orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null); |
| | | } |
| | | if (orderDetl.getAnfme()<=anfme){ |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme())) { |
| | | throw new CoolException("修改订单明细数量失败"); |
| | | } |
| | | anfme=anfme-orderDetl.getAnfme(); |
| | | }else{ |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),anfme)) { |
| | | throw new CoolException("修改订单明细数量失败"); |
| | | } |
| | | } |
| | | orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); |
| | | } |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { |
| | | throw new CoolException("修改订单明细数量失败"); |
| | | } |
| | | orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); |
| | | } else { |
| | | // 订单合并出库 |
| | | List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class); |
| | |
| | | } |
| | | } |
| | | |
| | | private String[] GetOrderNo(String orderNo){ |
| | | String s1 = Recombination(orderNo, ","); |
| | | String s2 = Recombination(s1, "\"}"); |
| | | String[] s3= s2.split("\""); |
| | | String[] s =new String[(s3.length-1)/3]; |
| | | int i=0; |
| | | int j=0; |
| | | for (String ss:s3){ |
| | | if (ss.equals("orderNo")){ |
| | | s[i]=s3[j+2]; |
| | | i++; |
| | | } |
| | | j++; |
| | | } |
| | | return s; |
| | | } |
| | | private String Recombination(String a,String b){ |
| | | String[] d=a.split(b); |
| | | String c=""; |
| | | if (b.equals(",")){ |
| | | for (int i=0;i<d.length;i++){ |
| | | if (i%2!=0){ |
| | | c=c+d[i]; |
| | | } |
| | | } |
| | | }else if(b.equals("\"}")){ |
| | | for (int i=0;i<d.length-1;i++){ |
| | | c=c+d[i]; |
| | | } |
| | | } |
| | | return c; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public String emptyPlateIn(Integer devpNo, Long userId) { |