|
@@ -31,6 +31,8 @@ import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.util.CalculationUtil;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.util.GeTuiUtils;
|
|
|
+import org.apache.poi.hssf.record.DConRefRecord;
|
|
|
+import org.omg.CORBA.FloatSeqHelper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -380,6 +382,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
// 采购订单
|
|
|
PurchaseOrder purchaseOrder = purchaseOrderService.selectOne(new EntityWrapper<PurchaseOrder>().eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
.eq("delete_flag", "0"));
|
|
|
+ // 合同表
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>().eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
|
|
//判断是否第一次提交
|
|
|
if (StringUtils.isEmpty(warehouseInOutDetail.getId())) {
|
|
@@ -416,68 +421,88 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 采购入库统计
|
|
|
+ StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
|
|
|
PurchaseReceiptReport purchaseReceiptReport = new PurchaseReceiptReport();
|
|
|
- purchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
- purchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
- purchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
- purchaseReceiptReport.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
- purchaseReceiptReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
- purchaseReceiptReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
|
|
|
- purchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
- purchaseReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
- purchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
- purchaseReceiptReport.setProtein(warehouseInOutDetail.getProtein());
|
|
|
- purchaseReceiptReport.setWaterContent(warehouseInOutDetail.getWaterContent());
|
|
|
- purchaseReceiptReport.setDeductionAmount(Float.valueOf(warehouseInOutInfo.getDeductionAmount()));
|
|
|
- purchaseReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
- purchaseReceiptReport.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
- purchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
- purchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
|
|
|
- purchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
|
|
|
- if (purchaseOrder != null) {
|
|
|
- purchaseReceiptReport.setUnitPrice(purchaseOrder.getUnitPrice());
|
|
|
- purchaseReceiptReport.setUnloadingCharge(purchaseOrder.getUnloadingCharge());
|
|
|
- purchaseReceiptReport.setInvoiceFee(purchaseOrder.getInvoiceFee());
|
|
|
- //期货
|
|
|
- if (purchaseOrder.getBasis()!=null){
|
|
|
- purchaseReceiptReport.setBasisPrice(purchaseOrder.getBasis());
|
|
|
- BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
|
|
|
- BigDecimal basis = new BigDecimal(Float.toString(purchaseReceiptReport.getBasisPrice()));
|
|
|
- BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
|
|
|
- BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
|
|
|
- BigDecimal deductionAmount = new BigDecimal(Float.toString(purchaseReceiptReport.getDeductionAmount()));
|
|
|
- purchaseReceiptReport.setSettlementPrice(unitPrice.add(basis).add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
|
|
|
- }
|
|
|
- //现货
|
|
|
- else {
|
|
|
- BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
|
|
|
- BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
|
|
|
- BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
|
|
|
- BigDecimal deductionAmount = new BigDecimal(Float.toString(purchaseReceiptReport.getDeductionAmount()));
|
|
|
- purchaseReceiptReport.setSettlementPrice(unitPrice.add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
|
|
|
-
|
|
|
- }
|
|
|
- purchaseReceiptReport.setCustomerName(purchaseOrder.getSeller());
|
|
|
- purchaseReceiptReport.setInvoiceType(purchaseOrder.getType());
|
|
|
- purchaseReceiptReport.setInvoiceTypeKey(purchaseOrder.getType());
|
|
|
- purchaseReceiptReport.setAmountIngPayable(CalculationUtil.mulToFloat(purchaseReceiptReport.getSettlementPrice(), purchaseReceiptReport.getNetWeight()));
|
|
|
- purchaseReceiptReport.setAmountEdPayable(0f);
|
|
|
- purchaseReceiptReport.setAmountNotPayable(purchaseReceiptReport.getAmountIngPayable());
|
|
|
- if (tranCarInfo != null) {
|
|
|
- //将到货数据同步到派车表
|
|
|
- tranCarInfo.setUnloadNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
- tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
- tranCarInfo.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
- tranCarInfo.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
- tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
- tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
- if (purchaseOrder != null) {
|
|
|
- tranCarInfo.setSettlementPrice(purchaseReceiptReport.getSettlementPrice());
|
|
|
+ // 期货采购入库统计
|
|
|
+ if("2".equals(contractManagementInfo.getGoodsType())) {
|
|
|
+ purchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
+ purchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
+ purchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
+ purchaseReceiptReport.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
+ purchaseReceiptReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
+ purchaseReceiptReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
|
|
|
+ purchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
+ purchaseReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
+ purchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
+ purchaseReceiptReport.setProtein(warehouseInOutDetail.getProtein());
|
|
|
+ purchaseReceiptReport.setWaterContent(warehouseInOutDetail.getWaterContent());
|
|
|
+ purchaseReceiptReport.setDeductionAmount(Float.valueOf(warehouseInOutInfo.getDeductionAmount()));
|
|
|
+ purchaseReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ purchaseReceiptReport.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
+ purchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
+ purchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
|
|
|
+ purchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
|
|
|
+ if (purchaseOrder != null) {
|
|
|
+ purchaseReceiptReport.setUnitPrice(purchaseOrder.getUnitPrice());
|
|
|
+ purchaseReceiptReport.setUnloadingCharge(purchaseOrder.getUnloadingCharge());
|
|
|
+ purchaseReceiptReport.setInvoiceFee(purchaseOrder.getInvoiceFee());
|
|
|
+ //期货
|
|
|
+ if (purchaseOrder.getBasis() != null) {
|
|
|
+ purchaseReceiptReport.setBasisPrice(purchaseOrder.getBasis());
|
|
|
+ BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
|
|
|
+ BigDecimal basis = new BigDecimal(Float.toString(purchaseReceiptReport.getBasisPrice()));
|
|
|
+ BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
|
|
|
+ BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(Float.toString(purchaseReceiptReport.getDeductionAmount()));
|
|
|
+ purchaseReceiptReport.setSettlementPrice(unitPrice.add(basis).add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
|
|
|
+ }
|
|
|
+// //现货
|
|
|
+// else {
|
|
|
+// BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
|
|
|
+// BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
|
|
|
+// BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
|
|
|
+// BigDecimal deductionAmount = new BigDecimal(Float.toString(purchaseReceiptReport.getDeductionAmount()));
|
|
|
+// purchaseReceiptReport.setSettlementPrice(unitPrice.add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
|
|
|
+//
|
|
|
+// }
|
|
|
+ purchaseReceiptReport.setCustomerName(purchaseOrder.getSeller());
|
|
|
+ purchaseReceiptReport.setInvoiceType(purchaseOrder.getType());
|
|
|
+ purchaseReceiptReport.setInvoiceTypeKey(purchaseOrder.getType());
|
|
|
+ purchaseReceiptReport.setAmountIngPayable(CalculationUtil.mulToFloat(purchaseReceiptReport.getSettlementPrice(), purchaseReceiptReport.getNetWeight()));
|
|
|
+ purchaseReceiptReport.setAmountEdPayable(0f);
|
|
|
+ purchaseReceiptReport.setAmountNotPayable(purchaseReceiptReport.getAmountIngPayable());
|
|
|
+ if (tranCarInfo != null) {
|
|
|
+ //将到货数据同步到派车表
|
|
|
+ tranCarInfo.setUnloadNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
+ tranCarInfo.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
+ tranCarInfo.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
+ if (purchaseOrder != null) {
|
|
|
+ tranCarInfo.setSettlementPrice(purchaseReceiptReport.getSettlementPrice());
|
|
|
+ }
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
}
|
|
|
- tranCarInfoService.updateById(tranCarInfo);
|
|
|
}
|
|
|
}
|
|
|
+ //现货采购入库统计
|
|
|
+ else{
|
|
|
+ stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
+ stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
+ stockPurchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
+ stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
+ stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
+ stockPurchaseReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
|
|
|
+ stockPurchaseReceiptReport.setTare(warehouseInOutInfo.getTare());
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
+ stockPurchaseReceiptReport.setDeductionWeight(warehouseInOutInfo.getDeductionWeight());
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable
|
|
|
+ (warehouseInOutInfo.getNetWeight() *
|
|
|
+ (Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())) - Float.valueOf(warehouseInOutInfo.getDeductionAmount())));
|
|
|
+ }
|
|
|
|
|
|
// 客户确认
|
|
|
TranCarInfo tranCarInfo1 = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
|