From 3c059850edbdc253498033f40fbe9c81dd92300c Mon Sep 17 00:00:00 2001 From: chuang <994001556@qq.com> Date: Tue, 7 Mar 2023 15:02:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4ocr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PurchaseorderitemServiceImpl.java | 165 +++++++++--------- 1 file changed, 86 insertions(+), 79 deletions(-) diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderitemServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderitemServiceImpl.java index 4bcdb76b..e651ba5e 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderitemServiceImpl.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderitemServiceImpl.java @@ -1426,12 +1426,17 @@ if (pMap!=null&&pMap.size()>0){ } }else { ints.add(i); - + errList.add(model); } } + ArrayList dtos = new ArrayList<>(); for (int i = 0; i < ints.size(); i++) { Integer integer = ints.get(i); - dataList.remove(dataList.get(integer)); + dtos.add(dataList.get(integer)); + } + for (int i = 0; i < dtos.size(); i++) { + PurchaseorderDTO purchaseorderDTO = dtos.get(i); + dataList.remove(purchaseorderDTO); } BillRuleController bean = SpringContext.getBean(BillRuleController.class); String str2="purchase"; @@ -1449,138 +1454,140 @@ if (pMap!=null&&pMap.size()>0){ BigDecimal rateSum = new BigDecimal("0.00"); // advance_amount垫资金额:判断采购订单子表中有多少磅单是属于垫资的,找到之后将他们的【金额】进行汇总得到。 BigDecimal advanceSum = new BigDecimal("0.00"); - - // 合同id - String purchaseId = dataList.get(0).getPurchaseId(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ContractMEntity::getContractType,"0"); - wrapper.eq(ContractMEntity::getContractCode,purchaseId); - List contractMEntities = contractMapper.selectList(wrapper); - if (contractMEntities!=null&&contractMEntities.size()>0){ - // 采购合同 - ContractMEntity contractMEntity = contractMEntities.get(0); +if (dataList.size()>0){ + // 合同id + String purchaseId = dataList.get(0).getPurchaseId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ContractMEntity::getContractType,"0"); + wrapper.eq(ContractMEntity::getContractCode,purchaseId); + List contractMEntities = contractMapper.selectList(wrapper); + if (contractMEntities!=null&&contractMEntities.size()>0){ + // 采购合同 + ContractMEntity contractMEntity = contractMEntities.get(0); //雪花算法获取采购订单id - Long aLong = new DefaultIdentifierGenerator().nextId(PurchaseorderitemEntity.class); + Long aLong = new DefaultIdentifierGenerator().nextId(PurchaseorderitemEntity.class); //采购 - for (int i = 0; i < dataList.size(); i++) { + for (int i = 0; i < dataList.size(); i++) { - PurchaseorderDTO model = dataList.get(i); - Purchaseorder_item0Entity item0 = new Purchaseorder_item0Entity(); - Long aLong2 = new DefaultIdentifierGenerator().nextId(Purchaseorder_item0Entity.class); + PurchaseorderDTO model = dataList.get(i); + Purchaseorder_item0Entity item0 = new Purchaseorder_item0Entity(); + Long aLong2 = new DefaultIdentifierGenerator().nextId(Purchaseorder_item0Entity.class); // 雪花算法获取榜单id - Long aLong1 = new DefaultIdentifierGenerator().nextId(PoundlistEntity.class); - model.setId(aLong1.toString()); + Long aLong1 = new DefaultIdentifierGenerator().nextId(PoundlistEntity.class); + model.setId(aLong1.toString()); // 设置id - item0.setId(aLong2.toString()); + item0.setId(aLong2.toString()); // 主表Id - item0.setPurchaseorderId(aLong.toString()); + item0.setPurchaseorderId(aLong.toString()); //poundlist_id磅单id: - item0.setPoundlistId(aLong1.toString()); + item0.setPoundlistId(aLong1.toString()); //price单价:为execl中的采购单价 - item0.setPrice(new BigDecimal(model.getPurchasePrice())); + item0.setPrice(new BigDecimal(model.getPurchasePrice())); //settlement结算重量:为execl中的结算重量 - item0.setSettlement(new BigDecimal(model.getSettlement())); + item0.setSettlement(new BigDecimal(model.getSettlement())); //rate税率:默认为0 即13个点 - item0.setRate("0"); + item0.setRate("0"); //amount金额:price*settlement,保留6位小数 - item0.setAmount(item0.getPrice().multiply(item0.getSettlement()).setScale(6,BigDecimal.ROUND_HALF_UP)); + item0.setAmount(item0.getPrice().multiply(item0.getSettlement()).setScale(6,BigDecimal.ROUND_HALF_UP)); //not_amount不含税金额:price*settlement*(1 - 税率) 不含税价格为sum/1.13=price - item0.setNotAmount(item0.getAmount().divide(new BigDecimal(1+0.13))); + item0.setNotAmount(item0.getAmount().divide(new BigDecimal(1+0.13))); //vehicle_id车辆id:磅单c表车辆id - item0.setVehicleId(model.getVehicleId()); + item0.setVehicleId(model.getVehicleId()); //material_id物料id:磅单表物料id - item0.setMaterialId(model.getMaterialId()); + item0.setMaterialId(model.getMaterialId()); //supplier_id供应商id:磅单表供应商id - item0.setSupplierId(contractMEntity.getCode()); + item0.setSupplierId(contractMEntity.getCode()); //结算重量汇总到主表 - settlementNum=settlementNum.add(item0.getSettlement()); + settlementNum=settlementNum.add(item0.getSettlement()); //垫资金额 - if (model.getAdvance().equals("是")){ - advanceSum=advanceSum.add(item0.getSettlement()); - } + if (model.getAdvance().equals("是")){ + advanceSum=advanceSum.add(item0.getSettlement()); + } //金额 - amoutSum=amoutSum.add(item0.getAmount()); + amoutSum=amoutSum.add(item0.getAmount()); // 不含税金额 - notAmountSum=notAmountSum.add(item0.getNotAmount()); + notAmountSum=notAmountSum.add(item0.getNotAmount()); - purItemEntities.add(item0); + purItemEntities.add(item0); - if (i==dataList.size()-1){ - PurchaseorderitemEntity entity = new PurchaseorderitemEntity(); + if (i==dataList.size()-1){ + PurchaseorderitemEntity entity = new PurchaseorderitemEntity(); // id - entity.setId(aLong.toString()); - // 税额rateSum - rateSum=amoutSum.subtract(notAmountSum); + entity.setId(aLong.toString()); + // 税额rateSum + rateSum=amoutSum.subtract(notAmountSum); // 生成的采购编码 - ActionResult pdBillNumber = bean.getBillNumber(str2); - entity.setDocumentNo(String.valueOf(pdBillNumber.getData())); + ActionResult pdBillNumber = bean.getBillNumber(str2); + entity.setDocumentNo(String.valueOf(pdBillNumber.getData())); // 合同id - entity.setContractCode(contractMEntities.get(0).getId()); + entity.setContractCode(contractMEntities.get(0).getId()); // 对方合同号 - entity.setContractNo(contractMEntities.get(0).getContractNo()); + entity.setContractNo(contractMEntities.get(0).getContractNo()); // 供应商、客户ID - entity.setSupplierId(contractMEntities.get(0).getCode()); + entity.setSupplierId(contractMEntities.get(0).getCode()); // 供应商名称 - entity.setSupplierName(contractMEntities.get(0).getName()); + entity.setSupplierName(contractMEntities.get(0).getName()); // 重量 - entity.setNum(settlementNum); + entity.setNum(settlementNum); // 金额 - entity.setAmount(amoutSum); + entity.setAmount(amoutSum); // 不含税金额 - entity.setNotAmount(notAmountSum); + entity.setNotAmount(notAmountSum); // 税额 - entity.setRate(rateSum); + entity.setRate(rateSum); // 垫资金额 - entity.setAdvanceAmount(advanceSum); - purEntities=entity; - } + entity.setAdvanceAmount(advanceSum); + purEntities=entity; } + } - }else { - log.error("采购合同不存在!请添加后后重新添加!"); - errList.addAll(dataList); - } + }else { + log.error("采购合同不存在!请添加后后重新添加!"); + errList.addAll(dataList); + } - for (int i = 0; i < ints.size(); i++) { - Integer integer = ints.get(i); - dataList.remove(integer); - } - List entitys = JsonUtil.getJsonToList(dataList, PoundlistEntity.class); + for (int i = 0; i < ints.size(); i++) { + Integer integer = ints.get(i); + dataList.remove(integer); + } + List entitys = JsonUtil.getJsonToList(dataList, PoundlistEntity.class); - String str1="poundlist"; - for (PoundlistEntity model:entitys - ) { + String str1="poundlist"; + for (PoundlistEntity model:entitys + ) { // 生成的榜单编码 - ActionResult pdBillNumber = bean.getBillNumber(str1); - model.setPoundlistNo(String.valueOf(pdBillNumber.getData())); + ActionResult pdBillNumber = bean.getBillNumber(str1); + model.setPoundlistNo(String.valueOf(pdBillNumber.getData())); // 是否审核 - model.setIsExamine("1"); + model.setIsExamine("1"); // 榜单类型 - model.setPoundType("0"); + model.setPoundType("0"); // 业务员默认当前操作人 - String userId = userProvider.get().getUserId(); - model.setBusinessId(userId); + String userId = userProvider.get().getUserId(); + model.setBusinessId(userId); sum+= poundlistMapper.insert(model); - } + } // 榜单逻辑 // System.out.println(JsonUtil.getListToJsonArray(dataList)); // System.out.println(JsonUtil.getListToJsonArray(entitys)); //进行数据添加 - int insert = purchaseorderitemMapper.insert(purEntities); - for (int i = 0; i < purItemEntities.size(); i++) { - Purchaseorder_item0Entity entity = purItemEntities.get(i); - purchaseorderItem0Mapper.insert(entity); - } + int insert = purchaseorderitemMapper.insert(purEntities); + for (int i = 0; i < purItemEntities.size(); i++) { + Purchaseorder_item0Entity entity = purItemEntities.get(i); + purchaseorderItem0Mapper.insert(entity); + } +} + PurchaseOrderImportVo importVo = new PurchaseOrderImportVo(); num=errList.size(); importVo.setSnum(sum);