|
|
|
@ -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++;
|
|
|
|
|
}
|
|
|
|
|
// 榜单逻辑
|
|
|
|
|
|
|
|
|
|