|  |  |  | 
|---|
|  |  |  | throw new CoolException("表格内容不能为空!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<PurchaseTemplate> resultList = result.getList(); | 
|---|
|  |  |  | Map<String, List<PurchaseTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(PurchaseTemplate::getPoCode)); | 
|---|
|  |  |  | Map<String, List<PurchaseTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(item -> | 
|---|
|  |  |  | !Objects.isNull(item.getPoCode()) ? item.getPoCode() : SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ORDER_PO_CODE, null) | 
|---|
|  |  |  | )); | 
|---|
|  |  |  | for (String key : listMap.keySet()) { | 
|---|
|  |  |  | List<PurchaseTemplate> list = listMap.get(key); | 
|---|
|  |  |  | Purchase serviceOne = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, key)); | 
|---|
|  |  |  | if (!Objects.isNull(serviceOne)) { | 
|---|
|  |  |  | //                return R.error(serviceOne.getCode() +  "单据已存在!!"); | 
|---|
|  |  |  | throw new CoolException(serviceOne.getCode() +  "单据已存在!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PurchaseTemplate template = list.stream().findFirst().get(); | 
|---|
|  |  |  | Purchase purchase = new Purchase(); | 
|---|
|  |  |  | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); | 
|---|
|  |  |  | Date date = dateFormat.parse(template.getArrTime()); | 
|---|
|  |  |  | Date date = template.getArrTime(); | 
|---|
|  |  |  | BeanUtils.copyProperties(template, purchase); | 
|---|
|  |  |  | purchase.setCode(template.getPoCode()); | 
|---|
|  |  |  | if (StringUtils.isBlank(template.getPoCode())) { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (StringUtils.isBlank(purchaseTemplate.getMatnrCode())) { | 
|---|
|  |  |  | throw new CoolException(purchaseTemplate.getPoCode() + ":物料编码不能为空!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, template.getMatnrCode())); | 
|---|
|  |  |  | Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, purchaseTemplate.getMatnrCode())); | 
|---|
|  |  |  | if (Objects.isNull(matnr)) { | 
|---|
|  |  |  | throw new CoolException(template.getMatnrCode() + "物料不存在!!"); | 
|---|
|  |  |  | throw new CoolException(purchaseTemplate.getMatnrCode() + "物料不存在!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | item.setMatnrName(matnr.getName()) | 
|---|
|  |  |  | .setMatnrCode(matnr.getCode()) | 
|---|
|  |  |  | .setPlatItemId(template.getPlatItemId()) | 
|---|
|  |  |  | .setAnfme(template.getAnfme()) | 
|---|
|  |  |  | .setPlatItemId(purchaseTemplate.getPlatItemId()) | 
|---|
|  |  |  | .setAnfme(purchaseTemplate.getAnfme()) | 
|---|
|  |  |  | .setPurchaseId(purchase.getId()) | 
|---|
|  |  |  | .setUnit(matnr.getUnit()) | 
|---|
|  |  |  | .setNromQty(matnr.getNromNum()) | 
|---|
|  |  |  | .setSplrBatch(template.getSplrBatch()) | 
|---|
|  |  |  | .setSplrBatch(purchaseTemplate.getSplrBatch()) | 
|---|
|  |  |  | .setCreateBy(loginUserId) | 
|---|
|  |  |  | .setUpdateBy(loginUserId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (StringUtils.isNotBlank(purchaseTemplate.getSplrCode())) { | 
|---|
|  |  |  | Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() | 
|---|
|  |  |  | .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val) | 
|---|
|  |  |  | .eq(Companys::getCode, template.getSplrCode())); | 
|---|
|  |  |  | .eq(Companys::getCode, purchaseTemplate.getSplrCode())); | 
|---|
|  |  |  | if (!Objects.isNull(companys)) { | 
|---|
|  |  |  | item.setSplrCode(companys.getCode()).setSplrName(companys.getName()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("供应商:" + template.getSplrName() + "不存在!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("供应商不能为空!!"); | 
|---|
|  |  |  | throw new CoolException("供应商编码不能为空!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!this.save(item)) { | 
|---|
|  |  |  | throw new CoolException("单据明细保存失败!!"); | 
|---|