product
chuang 2 years ago
parent e598451dc2
commit 1049569fbd

@ -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<Object> 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<HashMap> read = reader.read(3, reader.read().size(), HashMap.class);
// List<Object> objects1 = reader.readRow(0);
// System.out.println(objects1);
List<Object> objects2 = reader.readColumn(0, 0, 1);
List<Object> 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<Object> objects = reader.readColumn(0, 3);
String str3 = infoStr.substring(infoStr.lastIndexOf("") + 1, infoStr.length());
List<Object> 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<Map<String,Object>>)o1).toString());
cell4.setCellValue(String.valueOf(o2).equals("null") ? "" :JsonUtil.getListToJsonArray((List<Map<String,Object>>)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<Map<String,Object>>)o1).toString());
cell4.setCellValue(String.valueOf(o2).equals("null") ? "" :JsonUtil.getListToJsonArray((List<Map<String,Object>>)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();
}
}

@ -397,7 +397,9 @@ public class PurchaseorderController {
List<PurchaseorderDTO> dataList = JsonUtil.getJsonToList(data.getList(), PurchaseorderDTO.class);
//导入数据
PurchaseOrderImportVo result = purchaseorderitemService.importData(dataList);
return ActionResult.success(result);
System.out.println("这是错误的数据"+result);
Map<String, Object> stringObjectMap = JsonUtil.entityToMap(result);
return ActionResult.success(stringObjectMap);
}

@ -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<PurchaseorderDTO> 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();
}
}
}

@ -277,8 +277,6 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
lineCell11.setCellStyle(lineStyle);
String ss=String.valueOf(map.get("purchaseAmount")).equals("null") ? "" : String.valueOf(map.get("purchaseAmount"));
priceSum= priceSum.add(new BigDecimal(ss));
String s = String.valueOf(map.get("settlement")).equals("null") ? "0" : String.valueOf(map.get("settlement"));
sum = sum.add(new BigDecimal(s));
@ -598,7 +596,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
@Override
public void getPdfInfo(PurchaseorderitemEntity purchaseorderitemEntity, HttpServletResponse response) throws Exception {
// 临时文件夹地址
String templateFilePath = configValueUtil.getTemplateFilePath() + "info\\";
String s = UUID.randomUUID().toString();
String templateFilePath = configValueUtil.getTemplateFilePath() + "info\\"+s+"\\";
FileCopy.createFile(templateFilePath);
LambdaQueryWrapper<PurchaseorderitemEntity> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(PurchaseorderitemEntity::getDocumentNo,"cgdj2023020300000001");
@ -1522,7 +1521,12 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
BigDecimal depositAmount =BigDecimal.ZERO;
for (int i = 0; i < num1; i++) {
PurchaseorderDTO model = dataList.get(i);
PurchaseorderDTO dto = null;
try {
dto = model.clone();
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
//// 收获日期
// if (model.getPoundDate() != null && !model.getPoundDate().isEmpty() && !model.getPoundDate().equals("null")) {
@ -1613,8 +1617,9 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
model.setVehicleId(aLong.toString());
}
}else {
model.setCauseError("目录名称的车牌号对应不上表格中的请检查excel中的车牌号为"+model.getVehicleId()+",目录中车牌号为:"+model.getDriverVehicleId());
errList.add(model);
dto.setCauseError("目录名称的车牌号对应不上表格中的请检查excel中的车牌号为"+model.getVehicleId()+",目录中车牌号为:"+model.getDriverVehicleId());
errList.add(dto);
ints.add(i);
continue;
}
@ -1662,8 +1667,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
model.setVehicleId(aLong.toString());
}
}else {
model.setCauseError("车牌号不存在!请添加车辆信息在尝试添加!");
errList.add(model);
dto.setCauseError("车牌号不存在!请添加车辆信息在尝试添加!");
errList.add(dto);
ints.add(i);
continue;
}
@ -1676,8 +1681,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
if (materialEntityList != null && materialEntityList.size() > 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<PurchaseorderitemM
if (naturalEntityList != null && naturalEntityList.size() > 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<PurchaseorderitemM
model.setSupplierId(contractMEntities.get(0).getCode());
} else {
model.setCauseError("采购合同不存在!请添加采购合同后尝试添加!");
errList.add(model);
dto.setCauseError("采购合同不存在!请添加采购合同后尝试添加!");
errList.add(dto);
ints.add(i);
continue;
}
@ -1732,8 +1737,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
// 客户
model.setCustomerId(contractMEntities.get(0).getCode());
} else {
model.setCauseError("销售合同不存在!请添加销售合同后尝试添加!");
errList.add(model);
dto.setCauseError("销售合同不存在!请添加销售合同后尝试添加!");
errList.add(dto);
ints.add(i);
continue;
}
@ -1742,8 +1747,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
if (model.getPoundPictures()!=null&&!model.getPoundPictures().isEmpty()){
}else {
model.setCauseError("磅单照片导入失败!请重新导入!");
errList.add(model);
dto.setCauseError("磅单照片导入失败!请重新导入!");
errList.add(dto);
ints.add(i);
continue;
}
@ -1751,8 +1756,8 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
if (model.getCarPictures()!=null&&!model.getCarPictures().isEmpty()){
}else {
model.setCauseError("车辆照片导入失败!请重新导入!");
errList.add(model);
dto.setCauseError("车辆照片导入失败!请重新导入!");
errList.add(dto);
ints.add(i);
continue;
}
@ -1795,153 +1800,155 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
model.setOriginPrice(JsonUtil.getListToJsonArray(strings).toJSONString());
}
} else {
model.setCauseError("发货地格式不正确!请修改后重新添加!");
errList.add(model);
dto.setCauseError("发货地格式不正确!请修改后重新添加!");
errList.add(dto);
ints.add(i);
continue;
}
}
} else {
ints.add(i);
errList.add(model);
errList.add(dto);
}
}
// 错误信息
ArrayList<PurchaseorderDTO> 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<PurchaseorderDTO> 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<Purchaseorder_item0Entity> 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<Purchaseorder_item0Entity> 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<ContractMEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractMEntity::getContractType, "0");
wrapper.eq(ContractMEntity::getId, purchaseId);
List<ContractMEntity> contractMEntities = contractMapper.selectList(wrapper);
if (dataList.size() > 0) {
// 合同id
String purchaseId = dataList.get(0).getPurchaseId();
LambdaQueryWrapper<ContractMEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractMEntity::getContractType, "0");
wrapper.eq(ContractMEntity::getId, purchaseId);
List<ContractMEntity> 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<PurchaseorderitemM
// errList.addAll(dataList);
// }
for (int i = 0; i < ints.size(); i++) {
Integer integer = ints.get(i);
dataList.remove(integer);
}
List<PoundlistEntity> entitys = JsonUtil.getJsonToList(dataList, PoundlistEntity.class);
for (int i = 0; i < ints.size(); i++) {
Integer integer = ints.get(i);
dataList.remove(integer);
}
List<PoundlistEntity> 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);

@ -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"));
}

Loading…
Cancel
Save