采购订单-文件导入

product
chuang 2 years ago
parent 1aa1a69623
commit 377044e35f

@ -114,9 +114,10 @@ public class FileCopy {
List<Object> objects2 = reader.readColumn(0, 0, 1);
// 公司名字
String companyStr = String.valueOf(objects2.get(0));
companyStr=companyStr.substring(0,companyStr.lastIndexOf("废钢收货"));
// 销售合同编码
String infoStr = String.valueOf(objects2.get(1));
String companyName = companyStr.substring(0, companyStr.lastIndexOf("废钢收货明细表"));
infoStr = infoStr.replaceAll(" ", "");
// 销售合同编码
String str = infoStr.substring(7, infoStr.indexOf("采购合同编码"));
@ -161,8 +162,8 @@ public class FileCopy {
Object o1 = fileMap.get(String.valueOf(o));
Object o2 = carFileMap.get(String.valueOf(o));
cell.setCellValue(String.valueOf(o1).equals("null") ? "" : String.valueOf(o1));
cell4.setCellValue(String.valueOf(o2).equals("null") ? "" : String.valueOf(o2));
cell.setCellValue(String.valueOf(o1).equals("null") ? "" : JsonUtil.getListToJsonArray((List<UploaderVO>)o1).toString());
cell4.setCellValue(String.valueOf(o2).equals("null") ? "" :JsonUtil.getListToJsonArray((List<UploaderVO>)o2).toString());
cell1.setCellValue(companyStr);
cell2.setCellValue(str);
cell3.setCellValue(str3);

@ -320,6 +320,7 @@ public class PurchaseorderController {
MultipartFile file = list.get(0);
if (file.getOriginalFilename().endsWith(".zip")) {
String filePath = configValueUtil.getTemporaryFilePath() + "unzip\\";
// String fileName = RandomUtil.uuId() + "." + UpUtil.getFileType(file);
// fileName = XSSEscape.escape(fileName);
//上传文件
@ -327,6 +328,7 @@ public class PurchaseorderController {
if (!temporaryFile.exists()) {
temporaryFile.mkdirs();
}
FileUtil.deleteFileAll(temporaryFile);
@Cleanup InputStream inputStream = file.getInputStream();
File gbk = ZipUtil.unzip(inputStream, temporaryFile, Charset.forName("GBK"));
HashMap<String, String> imgMap = new HashMap<>();
@ -355,7 +357,7 @@ public class PurchaseorderController {
File temporary = new File(XSSEscape.escapePath(filePath + fileName));
//得到数据
List<PurchaseorderDTO> purchaseorderList = ExcelUtil.importExcel(temporary, 2, 1, PurchaseorderDTO.class);
log.warn(purchaseorderList.toString());
// log.warn(purchaseorderList.toString());
//预览数据
Map<String, Object> map = purchaseorderitemService.importPreview(purchaseorderList);
return ActionResult.success(map);

@ -23,7 +23,6 @@ import jnpf.base.controller.BillRuleController;
import jnpf.base.entity.ProvinceEntity;
import jnpf.base.mapper.ProvinceMapper;
import jnpf.config.ConfigValueUtil;
import jnpf.customer.entity.CustomerEntity;
import jnpf.customer.mapper.CustomerVMapper;
import jnpf.exception.DataException;
import jnpf.materialvo.entity.MaterialEntity;
@ -48,7 +47,6 @@ import jnpf.receiptin.entity.ReceiptinEntity;
import jnpf.receiptin.entity.Receiptin_item0Entity;
import jnpf.receiptin.service.ReceiptinService;
import jnpf.receiptin.service.Receiptin_item0Service;
import jnpf.saleorder.entity.SaleorderitemEntity;
import jnpf.saleorder.mapper.SaleorderitemMapper;
import jnpf.supplyProcessAnalysis.entity.ContractMEntity;
import jnpf.supplyProcessAnalysis.mapper.ContractMMapper;
@ -674,8 +672,7 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
String fileName = "废钢采购订单(" + map.get("supplierName") + ")(" + map.get("creatorTime") + ").pdf";
fileName = URLEncoder.encode(fileName, "utf-8");
headers = new HttpHeaders();
headers.add("Content-Disposition",
"attachment; filename=" + fileName);
headers.add("Content-Disposition", "attachment; filename=" + fileName);
// 存在本地文件中
InputStream inputStream = new ByteArrayInputStream(bytes);
MultipartFile file = new MultipartFileDto(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
@ -1200,7 +1197,7 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
String s4 = String.valueOf(map.get("contact")).equals("null") ? "" : String.valueOf(map.get("contact"));
String s1 = String.valueOf(i + "-" + s2 + s3 + s4);
String s1 = i + "-" + s2 + s3 + s4;
File outImg = new File(templateFilePath + "vehicle\\" + s1 + "\\" + UUID.randomUUID().toString().replaceAll("-", "") + ".png");
File parentFile = outImg.getParentFile();
if (!parentFile.exists()) {
@ -1284,9 +1281,9 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
for (int i = 0; i < purchaseorderList.size(); i++) {
Map<String, Object> dataRowMap = new HashMap<>();
PurchaseorderDTO model = purchaseorderList.get(i);
if (model.getPoundDate()==null){
if (model.getPoundDate() == null) {
}else {
} else {
dataRowMap.put("poundDate", model.getPoundDate());
dataRowMap.put("vehicleId", model.getVehicleId());
dataRowMap.put("materialId", model.getMaterialId());
@ -1432,27 +1429,17 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
continue;
}
}
// 客户
if (model.getCustomerId() != null) {
LambdaQueryWrapper<CustomerEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerEntity::getSupplierNm, model.getCustomerId());
List<CustomerEntity> customerEntityList = customerMapper.selectList(wrapper);
if (customerEntityList != null && customerEntityList.size() > 0) {
model.setCustomerId(customerEntityList.get(0).getId());
} else {
model.setCauseError("客户信息不存在!请添加客户信息后尝试添加!");
errList.add(model);
ints.add(i);
continue;
}
}
// 采购合同编码
// 采购合同编码
if (model.getPurchaseId() != null) {
LambdaQueryWrapper<PurchaseorderitemEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PurchaseorderitemEntity::getDocumentNo, model.getPurchaseId());
List<PurchaseorderitemEntity> purchaseorderitemEntityList = purchaseorderitemMapper.selectList(wrapper);
if (purchaseorderitemEntityList != null && purchaseorderitemEntityList.size() > 0) {
model.setPurchaseId(purchaseorderitemEntityList.get(0).getId());
LambdaQueryWrapper<ContractMEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractMEntity::getContractCode, model.getPurchaseId());
wrapper.eq(ContractMEntity::getContractType, "0");
List<ContractMEntity> contractMEntities = contractMapper.selectList(wrapper);
if (contractMEntities != null && contractMEntities.size() > 0) {
model.setPurchaseId(contractMEntities.get(0).getId());
// 客户id
model.setCustomerId(contractMEntities.get(0).getCode());
} else {
model.setCauseError("采购合同不存在!请添加采购合同后尝试添加!");
errList.add(model);
@ -1460,13 +1447,31 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
continue;
}
}
//// 客户
// if (model.getCustomerId() != null) {
// LambdaQueryWrapper<CustomerEntity> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(CustomerEntity::getSupplierNm, model.getCustomerId());
// List<CustomerEntity> customerEntityList = customerMapper.selectList(wrapper);
// if (customerEntityList != null && customerEntityList.size() > 0) {
// model.setCustomerId(customerEntityList.get(0).getId());
// } else {
// model.setCauseError("客户信息不存在!请添加客户信息后尝试添加!");
// errList.add(model);
// ints.add(i);
// continue;
// }
// }
// 销售合同编码
if (model.getSalesId() != null) {
LambdaQueryWrapper<SaleorderitemEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SaleorderitemEntity::getDocumentNo, model.getSalesId());
List<SaleorderitemEntity> saleorderitemEntityList = saleorderitemMapper.selectList(wrapper);
if (saleorderitemEntityList != null && saleorderitemEntityList.size() > 0) {
model.setSalesId(saleorderitemEntityList.get(0).getId());
LambdaQueryWrapper<ContractMEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractMEntity::getContractCode, model.getSalesId());
wrapper.eq(ContractMEntity::getContractType, "1");
List<ContractMEntity> contractMEntities = contractMapper.selectList(wrapper);
if (contractMEntities != null && contractMEntities.size() > 0) {
model.setSalesId(contractMEntities.get(0).getId());
} else {
model.setCauseError("销售合同不存在!请添加销售合同后尝试添加!");
errList.add(model);
@ -1557,98 +1562,102 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
String purchaseId = dataList.get(0).getPurchaseId();
LambdaQueryWrapper<ContractMEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ContractMEntity::getContractType, "0");
wrapper.eq(ContractMEntity::getContractCode, purchaseId);
wrapper.eq(ContractMEntity::getId, purchaseId);
List<ContractMEntity> contractMEntities = contractMapper.selectList(wrapper);
if (contractMEntities != null && contractMEntities.size() > 0) {
// 采购合同
ContractMEntity contractMEntity = contractMEntities.get(0);
// 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++) {
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中的采购单价
item0.setPrice(new BigDecimal(model.getPurchasePrice()));
BigDecimal pricePur = new BigDecimal(model.getPurchasePrice());
BigDecimal settlem = new BigDecimal(model.getSettlement());
// 采购额/结算重量
item0.setPrice(pricePur.divide(settlem, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP));
//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, RoundingMode.HALF_UP));
item0.setAmount(new BigDecimal(model.getSalesPrice()));
//not_amount不含税金额price*settlement*(1 - 税率) 不含税价格为sum/1.13=price
item0.setNotAmount(item0.getAmount().divide(BigDecimal.valueOf(1 + 0.13)));
item0.setNotAmount(item0.getAmount().divide(BigDecimal.valueOf(1 + 0.13), 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());
//结算重量汇总到主表
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);
@ -1657,11 +1666,21 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
List<PoundlistEntity> entitys = JsonUtil.getJsonToList(dataList, PoundlistEntity.class);
String str1 = "poundlist";
for (PoundlistEntity model : entitys
) {
int i5 = 0;
for (PoundlistEntity model : entitys) {
PurchaseorderDTO purchaseorderDTO = dataList.get(i5);
// 生成的榜单编码
ActionResult pdBillNumber = bean.getBillNumber(str1);
model.setPoundlistNo(String.valueOf(pdBillNumber.getData()));
// 车辆信息
model.setVehiclePictures(purchaseorderDTO.getCarPictures());
BigDecimal settlement = model.getSettlement();
BigDecimal purchasePrice = model.getPurchasePrice();
// 采购单价
model.setPurchasePrice(purchasePrice.divide(settlement, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP));
BigDecimal salesPrice = model.getSalesPrice();
// 销售单价
model.setSalesPrice(salesPrice.divide(settlement, RoundingMode.CEILING).setScale(6, RoundingMode.HALF_UP));
// 是否审核
model.setIsExamine("1");
// 榜单类型
@ -1670,6 +1689,7 @@ public class PurchaseorderitemServiceImpl extends ServiceImpl<PurchaseorderitemM
String userId = userProvider.get().getUserId();
model.setBusinessId(userId);
sum += poundlistMapper.insert(model);
i5++;
}
// 榜单逻辑

Loading…
Cancel
Save