| | |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | |
| | | @ManagerAuth(memo = "手动上传订单") |
| | | @Transactional |
| | | public R report(@RequestParam Long orderId){ |
| | | orderService.report(orderId,getUserId()); |
| | | orderService.report(orderId,getUser().getUsername()); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | DataFormatter dataFormatter = new DataFormatter(); |
| | | for (int i = 1; i < totalRows; i++) { |
| | | Row row = sheet.getRow(i); |
| | | // 订单编号 |
| | | String uuid = dataFormatter.formatCellValue(row.getCell(0)); |
| | | // 物料号 |
| | | String maktx = dataFormatter.formatCellValue(row.getCell(1)); |
| | | // 物料号 |
| | | //单据类型 |
| | | String docName = dataFormatter.formatCellValue(row.getCell(0)); |
| | | //单据编号 |
| | | String uuid = dataFormatter.formatCellValue(row.getCell(1)); |
| | | //物料号 |
| | | String matnr = dataFormatter.formatCellValue(row.getCell(2)); |
| | | //销售单号 |
| | | String csocode = dataFormatter.formatCellValue(row.getCell(3)); |
| | | //自由项 |
| | | String isocode = dataFormatter.formatCellValue(row.getCell(4)); |
| | | // 数量 |
| | | Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(3))); |
| | | // 下单时间 |
| | | String timeStr = dataFormatter.formatCellValue(row.getCell(4)); |
| | | Date time = null; |
| | | try { |
| | | time = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss_F); |
| | | } catch (Exception e) { |
| | | throw new CoolException("第" + i + "行下的那时间解析失败,请重新导入!"); |
| | | if(Cools.isEmpty(dataFormatter.formatCellValue(row.getCell(5)))){ |
| | | continue; |
| | | } |
| | | // 商品系列 |
| | | String tagName = dataFormatter.formatCellValue(row.getCell(5)); |
| | | // 规格 |
| | | String specs = dataFormatter.formatCellValue(row.getCell(6)); |
| | | |
| | | Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(5))); |
| | | Mat mat = matService.selectByMatnr(matnr); |
| | | if (null == mat) { |
| | | throw new CoolException(matnr + "商品编码的商品不存在,请重新导入!"); |
| | | } |
| | | |
| | | //String timeStr = DateUtils.convert(new Date()); |
| | | |
| | | DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", docName)); |
| | | |
| | | if(docType.getPakin() == 1){ |
| | | uuid += "_I"; |
| | | }else { |
| | | uuid += "_O"; |
| | | } |
| | | |
| | | Order order = orderService.selectByNo(uuid); |
| | |
| | | order = new Order( |
| | | String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] |
| | | uuid, // 订单编号 |
| | | timeStr, // 单据日期 |
| | | 14L, // 单据类型 |
| | | null, // 单据日期 |
| | | docType.getDocId(), // 单据类型 |
| | | null, // 项目编号 |
| | | null, // |
| | | null, // 调拨项目编号 |
| | |
| | | } |
| | | } |
| | | |
| | | OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null); |
| | | OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null,csocode,isocode); |
| | | if (orderDetl == null) { |
| | | orderDetl = new OrderDetl(); |
| | | orderDetl.sync(mat); |
| | |
| | | orderDetl.setCreateTime(now); |
| | | orderDetl.setUpdateBy(userId); |
| | | orderDetl.setUpdateTime(now); |
| | | orderDetl.setThreeCode(csocode); |
| | | orderDetl.setDeadTime(isocode); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("生成单据明细失败,请重新导入!"); |
| | | } |
| | | } else { |
| | | if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme)) { |
| | | if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme,csocode,isocode)) { |
| | | throw new CoolException("生成单据明细失败,请重新导入!"); |
| | | } |
| | | } |