| | |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.mapper.*; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.service.impl.BasContainerServiceImpl; |
| | | import com.vincent.rsf.server.system.constant.CodeRes; |
| | | import com.vincent.rsf.server.system.constant.GlobalConfigCode; |
| | | import com.vincent.rsf.server.system.constant.SerialRuleCode; |
| | |
| | | private CompanysService companysService; |
| | | @Autowired |
| | | private OutStockService outStockService; |
| | | @Autowired |
| | | private BasContainerService basContainerService; |
| | | |
| | | /** |
| | | * @return |
| | |
| | | throw new CoolException("数据错误:主单不存在!!"); |
| | | } |
| | | //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/ |
| | | Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 100) / 100.0; |
| | | Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 1000000) / 1000000.0; |
| | | wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); |
| | | if (!asnOrderMapper.updateById(wkOrder)) { |
| | | throw new CoolException("已收货数量修改失败!!"); |
| | |
| | | throw new CoolException("请输入正确的时间格式!!"); |
| | | } |
| | | |
| | | Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 100) / 100.0; |
| | | Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 1000000) / 1000000.0; |
| | | Boolean allowOver = false; |
| | | if (!Objects.isNull(config)) { |
| | | if (Boolean.parseBoolean(config.getVal())) { |
| | |
| | | |
| | | if (!Objects.isNull(serviceOne)) { |
| | | item.setId(serviceOne.getId()); |
| | | Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 100) / 100.0; |
| | | Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 1000000) / 1000000.0; |
| | | item.setAnfme(anfme); |
| | | } |
| | | |
| | |
| | | * @time 2025/4/7 16:58 |
| | | */ |
| | | @Override |
| | | public R getDeltByCode(Map<String, Object> params) { |
| | | Object code = params.get("code"); |
| | | Object matnrCode = params.get("matnrCode"); |
| | | Object asnCode = params.get("asnCode"); |
| | | Object crushNo = params.get("fieldsIndex"); |
| | | Object batch = params.get("batch"); |
| | | public R getDeltByCode(Map<String, String> params) { |
| | | String code = params.get("code"); |
| | | String matnrCode = params.get("matnrCode"); |
| | | String asnCode = params.get("asnCode"); |
| | | String crushNo = params.get("fieldsIndex"); |
| | | String batch = params.get("batch"); |
| | | // String barcode = params.get("barcode"); |
| | | |
| | | if (Objects.isNull(crushNo)) { |
| | | throw new CoolException("票号不能为空!!"); |
| | | } |
| | | // if (Objects.isNull(code)) { |
| | | // throw new CoolException("容器号不能为空!!"); |
| | | // } |
| | | // BasContainer container = basContainerService.getOne(new LambdaQueryWrapper<BasContainer>().eq(BasContainer::getCode, barcode)); |
| | | // if (Objects.isNull(container)) { |
| | | // throw new CoolException("容器不存在!!"); |
| | | // } |
| | | // if (!Objects.isNull(params.get("isHalf")) && !params.get("isHalf").equals("0")) { |
| | | // container.setIsHalf(1); |
| | | // if (!basContainerService.updateById(container)) { |
| | | // throw new CoolException("容器状态修改失败!!"); |
| | | // } |
| | | // } |
| | | |
| | | String fieldIndex = null; |
| | | if (!Objects.isNull(crushNo)) { |
| | | FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getValue, crushNo).last("Limit 1")); |
| | | |
| | | if (!Objects.isNull(fieldsItem)) { |
| | | fieldIndex = fieldsItem.getUuid(); |
| | | } |
| | |
| | | LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>() |
| | | .or().eq(!Cools.isEmpty(code), WarehouseAreasItem::getTrackCode, code) |
| | | .or().eq(!Cools.isEmpty(batch), WarehouseAreasItem::getSplrBatch, batch) |
| | | .or().eq(!Cools.isEmpty(fieldIndex), WarehouseAreasItem::getFieldsIndex, fieldIndex) |
| | | .or().eq(WarehouseAreasItem::getFieldsIndex, fieldIndex) |
| | | .or().eq(!Cools.isEmpty(matnrCode), WarehouseAreasItem::getMatnrCode, matnrCode) |
| | | .or().eq(!Cools.isEmpty(asnCode), WarehouseAreasItem::getAsnCode, asnCode); |
| | | List<WarehouseAreasItem> list = warehouseAreasItemService.list(queryWrapper); |
| | | list.removeIf(e -> e.getAnfme() <= e.getWorkQty()); |
| | | if (!list.isEmpty()) { |
| | | list.removeIf(e -> e.getAnfme() <= e.getWorkQty()); |
| | | } |
| | | list.forEach(item -> { |
| | | Map<String, String> fields = FieldsUtils.getFields(item.getFieldsIndex()); |
| | | item.setExtendFields(fields); |
| | |
| | | if (Objects.isNull(stockItem)) { |
| | | detlsDto.setStockQty(0.0); |
| | | } else { |
| | | Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 100) / 100.0; |
| | | Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 1000000) / 1000000.0; |
| | | detlsDto.setStockQty(anfme); |
| | | } |
| | | |