| | |
| | | package com.zy.asrs.wms.asrs.service.impl;
|
| | |
|
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
| | | import com.zy.asrs.framework.common.Cools;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.asrs.entity.*;
|
| | |
| | | private OrderUtils orderUtils;
|
| | | @Autowired
|
| | | private WaitPakinService waitPakinService;
|
| | | @Autowired
|
| | | private LocDetlService locDetlService;
|
| | |
|
| | | @Override
|
| | | @Transactional
|
| | |
| | | }
|
| | |
|
| | | for (HashMap<String, Object> map : param.getList()) {
|
| | | double anfme = Double.parseDouble(map.get("anfme").toString());
|
| | | Double anfme = Double.parseDouble(map.get("anfme").toString());
|
| | | String batch = map.get("batch").toString();
|
| | | String matnr = map.get("matnr").toString();
|
| | | Double qty = 0D;
|
| | |
| | | if (map.containsKey("workQty")) {
|
| | | workQty = Double.parseDouble(map.get("workQty").toString());
|
| | | }
|
| | |
|
| | | if (param.getOrderType() == 2) {
|
| | | List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
|
| | | .eq(StringUtils.isNotBlank(batch), LocDetl::getBatch, batch)
|
| | | .eq(StringUtils.isNotBlank(matnr), LocDetl::getMatnr, matnr));
|
| | | if (detls.isEmpty()) {
|
| | | throw new CoolException("物料:" + matnr + "剩余库存余下:0" + ",无法生成出库单!!");
|
| | | }
|
| | | Double sum = detls.stream().mapToDouble(LocDetl::getAnfme).sum();
|
| | | if (anfme.compareTo(sum) > 0) {
|
| | | throw new CoolException("物料:" + matnr + "剩余库存余下:" + sum + ",无法生成出库单!!");
|
| | | }
|
| | | }
|
| | |
|
| | | String memo = map.getOrDefault("memo", "").toString();
|
| | | Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
|
| | | if (mat == null) {
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public List<OrderInfoDto> getDetlForOrderId(Long id) {
|
| | | return this.baseMapper.getDetlForOrderId(id);
|
| | | public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) {
|
| | | if (!Objects.isNull(matnr)) {
|
| | | if (Objects.isNull(matnr)) {
|
| | | return this.baseMapper.getDetlForOrderId(id, null);
|
| | | } else {
|
| | | return this.baseMapper.getDetlForOrderId(id, matnr);
|
| | | }
|
| | | } else {
|
| | | return this.baseMapper.getDetlForOrderId(id, null);
|
| | | }
|
| | | }
|
| | | }
|