| | |
| | | private static final String PROCESS_VOLTAGE_SORT = "电压分选"; |
| | | private static final String PROCESS_OPTICAL_INSPECTION = "光检外观"; |
| | | private static final String PROCESS_PACKAGING = "包装"; |
| | | private static final String INPUT_WEIGHT_PARAMETER = "投入重量"; |
| | | private static final String INPUT_WEIGHT_PARAMETER = "投入重量/数量"; |
| | | private static final String INPUT_WEIGHT_FIELD = "inputWeight"; |
| | | private static final Object PRODUCT_MAIN_NO_LOCK = new Object(); |
| | | |
| | |
| | | |
| | | BigDecimal previousCompleteQty = |
| | | previousWorkOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : previousWorkOrder.getCompleteQuantity(); |
| | | if (currentReportedQty.add(reportQty).compareTo(previousCompleteQty) > 0) { |
| | | throw new ServiceException("本次报工数量超过上道工序可流转数量"); |
| | | } |
| | | // if (currentReportedQty.add(reportQty).compareTo(previousCompleteQty) > 0) { |
| | | // throw new ServiceException("本次报工数量超过上道工序可流转数量"); |
| | | // } |
| | | |
| | | List<ProductProcessRouteItem> previousItems = productProcessRouteItemMapper.selectList( |
| | | Wrappers.<ProductProcessRouteItem>lambdaQuery() |
| | |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | } |
| | | if (productWorkOrder.getPlanQuantity() != null |
| | | && currentWorkOrderReportedQty.add(reportQty).compareTo(productWorkOrder.getPlanQuantity()) > 0) { |
| | | throw new ServiceException("本次报工数量超过工单可报数量"); |
| | | } |
| | | // if (productWorkOrder.getPlanQuantity() != null |
| | | // && currentWorkOrderReportedQty.add(reportQty).compareTo(productWorkOrder.getPlanQuantity()) > 0) { |
| | | // throw new ServiceException("本次报工数量超过工单可报数量"); |
| | | // } |
| | | |
| | | // 第五步:生成报工单号并确定报工人信息 |
| | | String productNo; |
| | |
| | | try { |
| | | parsed = JSON.parse(otherData); |
| | | } catch (Exception ex) { |
| | | throw new ServiceException("报工参数格式错误,无法解析投入重量"); |
| | | throw new ServiceException("报工参数格式错误,无法解析投入重量/数量"); |
| | | } |
| | | String inputWeight = StringUtils.trim(findParameterValue(parsed, INPUT_WEIGHT_PARAMETER)); |
| | | if (StringUtils.isBlank(inputWeight)) { |
| | |
| | | try { |
| | | return new BigDecimal(inputWeight); |
| | | } catch (NumberFormatException ex) { |
| | | throw new ServiceException("报工参数中的投入重量格式错误"); |
| | | throw new ServiceException("报工参数中的投入重量/数量格式错误"); |
| | | } |
| | | } |
| | | |