From 1049569fbdb6b5a5d477253eeef208269a06ff00 Mon Sep 17 00:00:00 2001 From: chuang <994001556@qq.com> Date: Wed, 5 Apr 2023 22:42:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/jnpf/mobilePort/utils/FileCopy.java | 260 ++++++++-------- .../controller/PurchaseorderController.java | 4 +- .../model/purchaseorder/PurchaseorderDTO.java | 13 +- .../impl/PurchaseorderitemServiceImpl.java | 284 +++++++++--------- .../utils/VehiclePictureFolderUtils.java | 9 +- 5 files changed, 308 insertions(+), 262 deletions(-) diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/mobilePort/utils/FileCopy.java b/SC-boot/linkage-scm/src/main/java/jnpf/mobilePort/utils/FileCopy.java index 18c4f578..a03d311e 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/mobilePort/utils/FileCopy.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/mobilePort/utils/FileCopy.java @@ -51,6 +51,18 @@ public class FileCopy { int xlsIndex = 0; // 将文件夹中的文件上传到文件服务器 if (file.isDirectory()) { + String path = file.getPath(); + String parentName = path.substring(path.lastIndexOf("\\") + 1, path.length()); + + VehiclePictureFolder vehiclePictureFolder = VehiclePictureFolderUtils.getVehiclePictureFolder(parentName); + + +// 序号 + parentName=vehiclePictureFolder.getSerialNumber(); + if (!folderHashMap.containsKey(parentName)){ + folderHashMap.put(parentName,vehiclePictureFolder); + } + ArrayList resultListt = getInfoAndUpFile(file.listFiles()); if (resultListt.get(0) != null) { fileName = fileName+String.valueOf(resultListt.get(0)); @@ -128,125 +140,135 @@ public class FileCopy { // 将车辆照片存在车辆照片中 input.close(); } - if (i == fileList.length - 1) { - if (excelFile != null) { - ExcelReader reader = ExcelUtil.getReader(excelFile); - reader.setIgnoreEmptyRow(true); + + } + + if (i == fileList.length - 1) { + if (excelFile != null) { + ExcelReader reader = ExcelUtil.getReader(excelFile); + + reader.setIgnoreEmptyRow(true); // List read = reader.read(3, reader.read().size(), HashMap.class); // List objects1 = reader.readRow(0); // System.out.println(objects1); - List objects2 = reader.readColumn(0, 0, 1); + List objects2 = reader.readColumn(0, 0, 1); // 公司名字 - String companyStr = String.valueOf(objects2.get(0)); - companyStr=companyStr.substring(0,companyStr.lastIndexOf("废钢收货")); + String companyStr = String.valueOf(objects2.get(0)); + companyStr=companyStr.substring(0,companyStr.lastIndexOf("废钢收货")); // 销售合同编码 - String infoStr = String.valueOf(objects2.get(1)); + String infoStr = String.valueOf(objects2.get(1)); - infoStr = infoStr.replaceAll(" ", ""); + infoStr = infoStr.replaceAll(" ", ""); // 销售合同编码 - String str = infoStr.substring(7, infoStr.indexOf("采购合同编码")); + String str = infoStr.substring(7, infoStr.indexOf("采购合同编码")); // 销售合同编码 - String str3 = infoStr.substring(infoStr.lastIndexOf(":") + 1, infoStr.length()); - List objects = reader.readColumn(0, 3); + String str3 = infoStr.substring(infoStr.lastIndexOf(":") + 1, infoStr.length()); + List objects = reader.readColumn(0, 3); // 写入工具类 - ExcelWriter writer = reader.getWriter(); + ExcelWriter writer = reader.getWriter(); // Workbook workbook = writer.getWorkbook(); - Sheet sheet = writer.getSheet(); - for (int i1 = 0; i1 < objects.size(); i1++) { - Object o = objects.get(i1); - Row row = sheet.getRow(i1 + 3); - if (String.valueOf(o).isEmpty()) { - continue; - } + Sheet sheet = writer.getSheet(); + for (int i1 = 0; i1 < objects.size(); i1++) { + Object o = objects.get(i1); + Row row = sheet.getRow(i1 + 3); + if (String.valueOf(o).isEmpty()) { + continue; + } //// System.out.println(row.getCell(0).getStringCellValue()); // if ( row.getCell(0).getStringCellValue().isEmpty()){ // continue; // } - Cell cell = row.createCell(19); - Cell cell1 = row.createCell(20); - Cell cell2 = row.createCell(21); - Cell cell3 = row.createCell(22); - Cell cell4 = row.createCell(23); - Cell cell6 = row.createCell(25); - Cell cell7 = row.createCell(26); - Cell cell8 = row.createCell(27); - - Cell cell5 = row.getCell(9); - Cell strCell1 = row.getCell(8); - Cell strCell2 = row.getCell(7); - Cell strCell3 = row.getCell(6); - Cell strCell4 = row.getCell(5); - Cell strCell5 = row.getCell(11); - Cell strCell6 = row.getCell(12); - Cell strCell7 = row.getCell(1); - - - if (i1 == 0) { - Row row1 = sheet.getRow(2); - Cell cell11 = row1.createCell(19); - cell11.setCellValue("磅单图片地址"); - Cell cell22 = row1.createCell(20); - cell22.setCellValue("客户"); - Cell cell33 = row1.createCell(21); - cell33.setCellValue("销售合同编码"); - Cell cell44 = row1.createCell(22); - cell44.setCellValue("采购合同编码"); - Cell cell55 = row1.createCell(23); - cell55.setCellValue("车辆图片地址"); - Cell cell66 = row1.createCell(24); - cell66.setCellValue("错误原因"); - Cell cell77 = row1.createCell(25); - cell77.setCellValue("司机姓名"); - Cell cell88 = row1.createCell(26); - cell88.setCellValue("司机联系方式"); - Cell cell99 = row1.createCell(27); - cell99.setCellValue("司机车牌号"); - } + Cell cell = row.createCell(19); + Cell cell1 = row.createCell(20); + Cell cell2 = row.createCell(21); + Cell cell3 = row.createCell(22); + Cell cell4 = row.createCell(23); + Cell cell6 = row.createCell(25); + Cell cell7 = row.createCell(26); + Cell cell8 = row.createCell(27); + + Cell cell5 = row.getCell(9); + Cell strCell1 = row.getCell(8); + Cell strCell2 = row.getCell(7); + Cell strCell3 = row.getCell(6); + Cell strCell4 = row.getCell(5); + Cell strCell5 = row.getCell(11); + Cell strCell6 = row.getCell(12); + Cell strCell7 = row.getCell(1); + Cell strCell8 = row.getCell(3); + + + if (i1 == 0) { + Row row1 = sheet.getRow(2); + Cell cell11 = row1.createCell(19); + cell11.setCellValue("磅单图片地址"); + Cell cell22 = row1.createCell(20); + cell22.setCellValue("客户"); + Cell cell33 = row1.createCell(21); + cell33.setCellValue("销售合同编码"); + Cell cell44 = row1.createCell(22); + cell44.setCellValue("采购合同编码"); + Cell cell55 = row1.createCell(23); + cell55.setCellValue("车辆图片地址"); + Cell cell66 = row1.createCell(24); + cell66.setCellValue("错误原因"); + Cell cell77 = row1.createCell(25); + cell77.setCellValue("司机姓名"); + Cell cell88 = row1.createCell(26); + cell88.setCellValue("司机联系方式"); + Cell cell99 = row1.createCell(27); + cell99.setCellValue("司机车牌号"); + } - Object o1 = fileMap.get(String.valueOf(o)); - Object o2 = carFileMap.get(String.valueOf(o)); - VehiclePictureFolder vehiclePictureFolder1 = folderHashMap.get(String.valueOf(o)); - - cell.setCellValue(String.valueOf(o1).equals("null") ? "" : JsonUtil.getListToJsonArray((List>)o1).toString()); - - cell4.setCellValue(String.valueOf(o2).equals("null") ? "" :JsonUtil.getListToJsonArray((List>)o2).toString()); - cell1.setCellValue(companyStr); - cell2.setCellValue(str); - cell3.setCellValue(str3); - cell5.setCellType(CellType.STRING); - cell5.setCellValue(FileCopy.setSteColumn(cell5)); - cell6.setCellValue(vehiclePictureFolder1.getDriverName()!=null?vehiclePictureFolder1.getDriverName():""); - cell7.setCellValue(vehiclePictureFolder1.getPhoneNumber()!=null?vehiclePictureFolder1.getPhoneNumber():""); - cell8.setCellValue(vehiclePictureFolder1.getCarNumber()!=null?vehiclePictureFolder1.getCarNumber():""); - strCell1.setCellType(CellType.STRING); - strCell1.setCellValue(FileCopy.setSteColumn(strCell1)); - strCell2.setCellType(CellType.STRING); - strCell2.setCellValue(FileCopy.setSteColumn(strCell2)); - strCell3.setCellType(CellType.STRING); - strCell3.setCellValue(FileCopy.setSteColumn(strCell3)); - strCell4.setCellType(CellType.STRING); - strCell4.setCellValue(FileCopy.setSteColumn(strCell4)); - strCell5.setCellType(CellType.STRING); - strCell5.setCellValue(FileCopy.setSteColumn(strCell5)); - strCell6.setCellType(CellType.STRING); - strCell6.setCellValue(FileCopy.setSteColumn(strCell6)); + Object o1 = fileMap.get(String.valueOf(o)); + Object o2 = carFileMap.get(String.valueOf(o)); + VehiclePictureFolder vehiclePictureFolder1 = folderHashMap.get(String.valueOf(o)); + + cell.setCellValue(String.valueOf(o1).equals("null") ? "" : JsonUtil.getListToJsonArray((List>)o1).toString()); + + cell4.setCellValue(String.valueOf(o2).equals("null") ? "" :JsonUtil.getListToJsonArray((List>)o2).toString()); + cell1.setCellValue(companyStr); + cell2.setCellValue(str); + cell3.setCellValue(str3); + cell5.setCellType(CellType.STRING); + cell5.setCellValue(FileCopy.setSteColumn(cell5)); + if (vehiclePictureFolder1!=null){ + cell6.setCellValue(vehiclePictureFolder1.getDriverName()!=null?vehiclePictureFolder1.getDriverName():""); + cell7.setCellValue(vehiclePictureFolder1.getPhoneNumber()!=null?vehiclePictureFolder1.getPhoneNumber():""); + cell8.setCellValue(vehiclePictureFolder1.getCarNumber()!=null?vehiclePictureFolder1.getCarNumber():""); + } + + strCell1.setCellType(CellType.STRING); + strCell1.setCellValue(FileCopy.setSteColumn(strCell1)); + strCell2.setCellType(CellType.STRING); + strCell2.setCellValue(FileCopy.setSteColumn(strCell2)); + strCell3.setCellType(CellType.STRING); + strCell3.setCellValue(FileCopy.setSteColumn(strCell3)); + strCell4.setCellType(CellType.STRING); + strCell4.setCellValue(FileCopy.setSteColumn(strCell4)); + strCell5.setCellType(CellType.STRING); + strCell5.setCellValue(FileCopy.setSteColumn(strCell5)); + strCell6.setCellType(CellType.STRING); + strCell6.setCellValue(FileCopy.setSteColumn(strCell6)); + strCell8.setCellType(CellType.STRING); + strCell8.setCellValue(FileCopy.setSteColumn(strCell8)); // strCell7.setCellType(CellType.STRING); - String stringCellValue = VehiclePictureFolderUtils.getValue(strCell7); + String stringCellValue = VehiclePictureFolderUtils.getValue(strCell7); // strCell7.setCellValue(stringCellValue); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义新的日期格式 - SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 - SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy/MM/dd K:mm:ss a");//定义新的日期格式 - SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy.MM.dd");//定义新的日期格式 - //format():将给定的 Date 格式化为日期/时间字符串。即:date--->String - try { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义新的日期格式 + SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy/MM/dd K:mm:ss a");//定义新的日期格式 + SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy.MM.dd");//定义新的日期格式 + //format():将给定的 Date 格式化为日期/时间字符串。即:date--->String + try { if (stringCellValue.contains("/")){ - Date date = formatter2.parse(stringCellValue);//parse():String--->date - strCell7.setCellValue(formatter.format(date)); + Date date = formatter2.parse(stringCellValue);//parse():String--->date + strCell7.setCellValue(formatter.format(date)); } else if (stringCellValue.contains("-")&&stringCellValue.contains(":")){ Date date = formatter.parse(stringCellValue);//parse():String--->date @@ -258,34 +280,32 @@ public class FileCopy { Date date = formatter3.parse(stringCellValue);//parse():String--->date strCell7.setCellValue(formatter.format(date)); } - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); } - writer.flush(excelFile); - writer.close(); - reader.close(); - InputStream input = new FileInputStream(excelFile); + } + writer.flush(excelFile); + writer.close(); + reader.close(); + InputStream input = new FileInputStream(excelFile); // MultipartFile multipartFile = new MultipartFileDto(file.getName(),input); - MultipartFile multipartFile = new MultipartFileDto(excelFile.getName(), excelFile.getName(), ContentType.JSON.toString(), FileCopyUtils.copyToByteArray(input)); - UtilsController utilsController = SpringContext.getBean(UtilsController.class); - System.out.println(multipartFile.getName()); - ActionResult annex = utilsController.uploader(multipartFile, "annex"); - if (annex.getCode() == 200) { - UploaderVO fileLoader = (UploaderVO) annex.getData(); - System.out.println(fileLoader); - System.out.println(fileLoader.getName()); - resultList.add(fileLoader.getName()); - resultList.add(carFileMap); - - resultList.add(fileMap); - resultList.add(folderHashMap); - return resultList; - } - input.close(); + MultipartFile multipartFile = new MultipartFileDto(excelFile.getName(), excelFile.getName(), ContentType.JSON.toString(), FileCopyUtils.copyToByteArray(input)); + UtilsController utilsController = SpringContext.getBean(UtilsController.class); + System.out.println(multipartFile.getName()); + ActionResult annex = utilsController.uploader(multipartFile, "annex"); + if (annex.getCode() == 200) { + UploaderVO fileLoader = (UploaderVO) annex.getData(); + System.out.println(fileLoader); + System.out.println(fileLoader.getName()); + resultList.add(fileLoader.getName()); + resultList.add(carFileMap); + + resultList.add(fileMap); + resultList.add(folderHashMap); + return resultList; } - + input.close(); } } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java index ea61288d..20eaf7e5 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java @@ -397,7 +397,9 @@ public class PurchaseorderController { List dataList = JsonUtil.getJsonToList(data.getList(), PurchaseorderDTO.class); //导入数据 PurchaseOrderImportVo result = purchaseorderitemService.importData(dataList); - return ActionResult.success(result); + System.out.println("这是错误的数据"+result); + Map stringObjectMap = JsonUtil.entityToMap(result); + return ActionResult.success(stringObjectMap); } diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderDTO.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderDTO.java index accd272f..f05783fb 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderDTO.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderDTO.java @@ -13,7 +13,7 @@ import java.util.List; * @Version 1.0 */ @Data -public class PurchaseorderDTO { +public class PurchaseorderDTO implements Cloneable{ @Excel(name = "收货日期") private String poundDate; @@ -94,4 +94,15 @@ public class PurchaseorderDTO { private List list; private String creatorTime; + + @Override + public PurchaseorderDTO clone() throws CloneNotSupportedException { + try { + PurchaseorderDTO clone = (PurchaseorderDTO) super.clone(); + // TODO: copy mutable state here, so the clone can't change the internals of the original + return clone; + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } } 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 bea35457..13449a19 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 @@ -277,8 +277,6 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(PurchaseorderitemEntity::getDocumentNo,"cgdj2023020300000001"); @@ -1522,7 +1521,12 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl 0) { model.setMaterialId(materialEntityList.get(0).getId()); } else { - model.setCauseError("货物信息不存在!请添加货物信息后尝试添加!"); - errList.add(model); + dto.setCauseError("货物信息不存在!请添加货物信息后尝试添加!"); + errList.add(dto); ints.add(i); continue; } @@ -1690,8 +1695,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl 0) { model.setNaturalId(naturalEntityList.get(0).getId()); } else { - model.setCauseError("业务员2信息不存在!请添加业务员2信息后尝试添加!"); - errList.add(model); + dto.setCauseError("业务员2信息不存在!请添加业务员2信息后尝试添加!"); + errList.add(dto); ints.add(i); continue; } @@ -1710,8 +1715,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl dtos = new ArrayList<>(); - for (int i = 0; i < ints.size(); i++) { - Integer integer = ints.get(i); - dtos.add(dataList.get(integer)); - } + + if (ints.size()!=0){ + // 错误信息 + ArrayList dtos = new ArrayList<>(); + for (int i = 0; i < ints.size(); i++) { + Integer integer = ints.get(i); + 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"; - // 采购订单表 - PurchaseorderitemEntity purEntities = new PurchaseorderitemEntity(); + 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"; + // 采购订单表 + PurchaseorderitemEntity purEntities = new PurchaseorderitemEntity(); // 采购订单明细 - ArrayList purItemEntities = new ArrayList<>(); - // num重量:采购订单子表【settlement】结算重量汇总得到 - BigDecimal settlementNum = new BigDecimal("0.00"); - //amount金额:采购订单子表【amount】金额汇总得到 - BigDecimal amoutSum = new BigDecimal("0.00"); - //not_amount不含税金额:采购订单子表【not_amount】不含税金额汇总得到 - BigDecimal notAmountSum = new BigDecimal("0.00"); + ArrayList purItemEntities = new ArrayList<>(); + // num重量:采购订单子表【settlement】结算重量汇总得到 + BigDecimal settlementNum = new BigDecimal("0.00"); + //amount金额:采购订单子表【amount】金额汇总得到 + BigDecimal amoutSum = new BigDecimal("0.00"); + //not_amount不含税金额:采购订单子表【not_amount】不含税金额汇总得到 + BigDecimal notAmountSum = new BigDecimal("0.00"); // rate税额:采购订单【amount金额】-【not_amount不含税金额】 - BigDecimal rateSum = new BigDecimal("0.00"); + BigDecimal rateSum = new BigDecimal("0.00"); // advance_amount垫资金额:判断采购订单子表中有多少磅单是属于垫资的,找到之后将他们的【金额】进行汇总得到。 // BigDecimal advanceSum = new BigDecimal("0.00"); - if (dataList.size() > 0) { - // 合同id - String purchaseId = dataList.get(0).getPurchaseId(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ContractMEntity::getContractType, "0"); - wrapper.eq(ContractMEntity::getId, purchaseId); - List contractMEntities = contractMapper.selectList(wrapper); + if (dataList.size() > 0) { + // 合同id + String purchaseId = dataList.get(0).getPurchaseId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ContractMEntity::getContractType, "0"); + wrapper.eq(ContractMEntity::getId, purchaseId); + List contractMEntities = contractMapper.selectList(wrapper); // if (contractMEntities != null && contractMEntities.size() > 0) { - // 采购合同 - ContractMEntity contractMEntity = contractMEntities.get(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++) { - PurchaseorderDTO model = dataList.get(i); - Purchaseorder_item0Entity item0 = new Purchaseorder_item0Entity(); - Long aLong2 = new DefaultIdentifierGenerator().nextId(Purchaseorder_item0Entity.class); + 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); // 雪花算法获取磅单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中的采购单价 - BigDecimal pricePur = new BigDecimal(model.getPurchasePrice()); - BigDecimal settlem = model.getSettlement(); + BigDecimal pricePur = new BigDecimal(model.getPurchasePrice()); + BigDecimal settlem = model.getSettlement(); // 采购额/结算重量 - item0.setPrice(pricePur.divide(settlem,6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); + item0.setPrice(pricePur.divide(settlem,6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); //settlement结算重量:为execl中的结算重量 - item0.setSettlement(model.getSettlement()); + item0.setSettlement(model.getSettlement()); //rate税率:默认为0 即13个点 - item0.setRate("0"); + item0.setRate("0"); // 单位 - item0.setUnit(model.getUnit()); + item0.setUnit(model.getUnit()); //amount金额:price*settlement,保留6位小数 - item0.setAmount(new BigDecimal(model.getPurchasePrice())); + item0.setAmount(new BigDecimal(model.getPurchasePrice())); //not_amount不含税金额:price*settlement*(1 - 税率) 不含税价格为sum/1.13=price - item0.setNotAmount(item0.getAmount().divide(BigDecimal.valueOf(1 + 0.13),6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); + item0.setNotAmount(item0.getAmount().divide(BigDecimal.valueOf(1 + 0.13),6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); //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()); //是否垫资 - item0.setAdvance(model.getAdvance()); - if(!StringUtil.isEmpty(model.getNetWeight())){ - item0.setNetWeight(new BigDecimal(model.getNetWeight())); - } + item0.setAdvance(model.getAdvance()); + if(!StringUtil.isEmpty(model.getNetWeight())){ + item0.setNetWeight(new BigDecimal(model.getNetWeight())); + } //结算重量汇总到主表 - settlementNum = settlementNum.add(item0.getSettlement()); + settlementNum = settlementNum.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.setContractName(contractMEntities.get(0).getContractName()); // 来源系统 - entity.setSourceSystem("0"); + entity.setSourceSystem("0"); // 是否结算 - entity.setIsSettle("0"); + entity.setIsSettle("0"); //是否转销售 - entity.setIsSettle("0"); + entity.setIsSettle("0"); // 是否付款申请 - entity.setIsPayment("0"); + entity.setIsPayment("0"); // 对方合同号 - 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(depositAmount); - purEntities = entity; + entity.setAdvanceAmount(depositAmount); + purEntities = entity; + } } - } // } else { @@ -1949,54 +1956,59 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl 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"; - int i5 = 0; - for (PoundlistEntity model : entitys) { - PurchaseorderDTO purchaseorderDTO = dataList.get(i5); + String str1 = "poundlist"; + int i5 = 0; + for (PoundlistEntity model : entitys) { + PurchaseorderDTO purchaseorderDTO = dataList.get(i5); // 生成的磅单编码 - ActionResult pdBillNumber = bean.getBillNumber(str1); - model.setPoundlistNo(String.valueOf(pdBillNumber.getData())); - model.setSupplierName(contractMEntities.get(0).getName()); + ActionResult pdBillNumber = bean.getBillNumber(str1); + model.setPoundlistNo(String.valueOf(pdBillNumber.getData())); + model.setSupplierName(contractMEntities.get(0).getName()); // 车辆信息 - model.setVehiclePictures(purchaseorderDTO.getCarPictures()); - BigDecimal settlement = model.getSettlement(); - BigDecimal purchasePrice = model.getPurchasePrice(); + model.setVehiclePictures(purchaseorderDTO.getCarPictures()); + BigDecimal settlement = model.getSettlement(); + BigDecimal purchasePrice = model.getPurchasePrice(); // 采购单价 - model.setPurchasePrice(purchasePrice.divide(settlement,6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); - BigDecimal salesPrice = model.getSalesPrice(); + model.setPurchasePrice(purchasePrice.divide(settlement,6, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); + BigDecimal salesPrice = model.getSalesPrice(); // 销售单价 - model.setSalesPrice(salesPrice.divide(settlement, 6,RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); + model.setSalesPrice(salesPrice.divide(settlement, 6,RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP)); // 是否审核 - model.setIsExamine("1"); + model.setIsExamine("1"); // 磅单类型 - model.setPoundType("0"); - model.setPurchaseStatus("0"); + model.setPoundType("0"); + model.setPurchaseStatus("0"); // 业务员默认当前操作人 - String userId = userProvider.get().getUserId(); - model.setBusinessId(userId); - sum += poundlistMapper.insert(model); - i5++; - } + String userId = userProvider.get().getUserId(); + model.setBusinessId(userId); + sum += poundlistMapper.insert(model); + i5++; + } // 磅单逻辑 //进行数据添加 - int insert = purchaseorderitemMapper.insert(purEntities); - for (int i = 0; i < purItemEntities.size(); i++) { + int insert = purchaseorderitemMapper.insert(purEntities); + for (int i = 0; i < purItemEntities.size(); i++) { - Purchaseorder_item0Entity entity = purItemEntities.get(i); - purchaseorderItem0Mapper.insert(entity); + Purchaseorder_item0Entity entity = purItemEntities.get(i); + purchaseorderItem0Mapper.insert(entity); + } } + } PurchaseOrderImportVo importVo = new PurchaseOrderImportVo(); - num = errList.size(); + + num = errList.size(); + + importVo.setSnum(sum); importVo.setFnum(num); importVo.setFailResult(errList); diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/utils/VehiclePictureFolderUtils.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/utils/VehiclePictureFolderUtils.java index 52672a32..78a75fbd 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/utils/VehiclePictureFolderUtils.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/utils/VehiclePictureFolderUtils.java @@ -5,6 +5,7 @@ import jnpf.util.StringUtil; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; +import org.junit.jupiter.api.Test; import java.text.DateFormat; import java.text.DecimalFormat; @@ -73,10 +74,10 @@ public class VehiclePictureFolderUtils { return vehiclePictureFolder; } -// @Test -// public void test1(){ System.out.println( -// VehiclePictureFolderUtils.getVehiclePictureFolder("1-豫AS0K91-李高洋")); -// } + @Test + public void test1(){ System.out.println( + VehiclePictureFolderUtils.getVehiclePictureFolder("2-皖D39239-13955463796")); + }