| | |
| | | import com.vincent.rsf.server.system.service.FieldsService; |
| | | import com.vincent.rsf.server.system.utils.SerialRuleUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | @Autowired |
| | | private DictDataService dictDataService; |
| | | @Autowired |
| | | private AsnOrderService asnOrderService; |
| | | |
| | | @Override |
| | | public R generateBarcode(List<Long> orders) { |
| | |
| | | if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) { |
| | | throw new CoolException("计划数不能为空!!"); |
| | | } |
| | | //保存扩展字段 |
| | | try { |
| | | StringBuffer sb = new StringBuffer(); |
| | | if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) { |
| | | List<Fields> fields = FieldsUtils.getFieldsSta(); |
| | | for (Fields field : fields) { |
| | | if (Objects.isNull(params.get(field.getFields()))) { |
| | | continue; |
| | | |
| | | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, wkOrderItem.getMatnrCode())); |
| | | if (Objects.isNull(matnr)) { |
| | | throw new CoolException("数据错误:物料" + wkOrderItem.getMatnrCode() + "不存在!!"); |
| | | } |
| | | BeanUtils.copyProperties(matnr, wkOrderItem); |
| | | wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()).setMaktx(matnr.getName()); |
| | | |
| | | WkOrder wkOrder = asnOrderService.getById(Long.parseLong(params.get("orderId").toString())); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("数据错误,单据不存在!!"); |
| | | } |
| | | if (!wkOrder.getType().equals(OrderType.ORDER_OUT.type)) { |
| | | //保存扩展字段 |
| | | try { |
| | | StringBuffer sb = new StringBuffer(); |
| | | if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) { |
| | | List<Fields> fields = FieldsUtils.getFieldsSta(); |
| | | for (Fields field : fields) { |
| | | if (Objects.isNull(params.get(field.getFields()))) { |
| | | continue; |
| | | } |
| | | //字段拼接 |
| | | sb.append(params.get(field.getFields())); |
| | | } |
| | | //字段拼接 |
| | | sb.append(params.get(field.getFields())); |
| | | sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch()); |
| | | //获取16位uuid |
| | | String uuid16 = Cools.md5Chinese(sb.toString()); |
| | | wkOrderItem.setFieldsIndex(uuid16); |
| | | params.put("index", uuid16); |
| | | } |
| | | sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch()); |
| | | //获取16位uuid |
| | | String uuid16 = Cools.md5Chinese(sb.toString()); |
| | | wkOrderItem.setFieldsIndex(uuid16); |
| | | params.put("index", uuid16); |
| | | //保存或更新动态字段值 |
| | | FieldsUtils.updateFieldsValue(params); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | //保存或更新动态字段值 |
| | | FieldsUtils.updateFieldsValue(params); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); |
| | | if (!this.saveOrUpdate(wkOrderItem)) { |