Browse Source

[feat] 采购管理:采购单动态采购数据。修改分类供应商方法。供应商获取数据,添加非空判断。

dev
zhangsiqi 5 months ago
parent
commit
5cdb04477b
  1. 50
      ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java
  2. 15
      ruoyi-admin/src/main/resources/templates/purchase/purchasePlan/addPurchaseOrder.html

50
ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java

@ -116,38 +116,42 @@ public class PurchaseOrderController extends BaseController
@ResponseBody
public AjaxResult addSave(@RequestBody PurchaseOrder purchaseOrder) throws Exception{
//获取采购订单子表中的供应商,核算供应商数量和采购物料合计以及采购数量合计,采购不含税报价合计,采购含税报价合计
List<PurchaseOrderChild> purchaseMaterials = purchaseOrder.getPurchaseOrderChildList();
purchaseOrder.setPurchaseOrderCode(redisCache.generateBillNo("CG"));
BigDecimal materialNoRmb = BigDecimal.valueOf(0.0);
BigDecimal materialRmb = BigDecimal.valueOf(0.0);
BigDecimal materialNoRmbSum = BigDecimal.valueOf(0.0);
BigDecimal materialRmbSum = BigDecimal.valueOf(0.0);
BigDecimal materialSum = BigDecimal.valueOf(0.0);
List<PurchaseOrderChild> purchaseMaterials = new ArrayList<>();
Long materialNum = 0L;
int supplierNum = 0;
for (PurchaseOrderChild purchaseOrderChild : purchaseMaterials) {
purchaseOrderChild.setPurchaseOrderCode(purchaseOrder.getPurchaseOrderCode());
for (PurchaseQuoteChild purchaseSupplierQuote : purchaseOrderChild.getPurchaseQuoteChildList()){
BigDecimal suplierMaterialNoRmb = purchaseSupplierQuote.getMaterialNoRmb();
BigDecimal suplierMaterialRmb = purchaseSupplierQuote.getMaterialRmb();
Long suplierMaterialNum = purchaseSupplierQuote.getMaterialNum();
BigDecimal suplierMaterialNoRmbSum = suplierMaterialNoRmb.multiply(BigDecimal.valueOf(suplierMaterialNum));
BigDecimal suplierMaterialRmbSum = suplierMaterialRmb.multiply(BigDecimal.valueOf(suplierMaterialNum));
materialNum = materialNum + suplierMaterialNum;
materialNoRmb = materialNoRmb.add(purchaseSupplierQuote.getMaterialNoRmb());
materialRmb = materialRmb.add(purchaseSupplierQuote.getMaterialRmb());
materialRmbSum = materialRmbSum.add(suplierMaterialRmbSum);
materialNoRmbSum = materialNoRmbSum.add(suplierMaterialNoRmbSum);
purchaseSupplierQuote.setPurchaseQuoteCode(purchaseOrder.getPurchaseOrderCode());
if (purchaseSupplierQuote.getSupplierCode() != null){
supplierNum ++;
}
int purOdersize = purchaseOrder.getPurchaseOrderChildList().size();
if(purOdersize > 1){
purchaseMaterials = purchaseOrder.getPurchaseOrderChildList();
for (PurchaseOrderChild purchaseOrderChild : purchaseMaterials) {
purchaseOrderChild.setPurchaseOrderCode(purchaseOrder.getPurchaseOrderCode());
for (PurchaseQuoteChild purchaseSupplierQuote : purchaseOrderChild.getPurchaseQuoteChildList()){
BigDecimal suplierMaterialNoRmb = purchaseSupplierQuote.getMaterialNoRmb();
BigDecimal suplierMaterialRmb = purchaseSupplierQuote.getMaterialRmb();
Long suplierMaterialNum = purchaseSupplierQuote.getMaterialNum();
BigDecimal suplierMaterialNoRmbSum = suplierMaterialNoRmb.multiply(BigDecimal.valueOf(suplierMaterialNum));
BigDecimal suplierMaterialRmbSum = suplierMaterialRmb.multiply(BigDecimal.valueOf(suplierMaterialNum));
materialNum = materialNum + suplierMaterialNum;
materialNoRmb = materialNoRmb.add(purchaseSupplierQuote.getMaterialNoRmb());
materialRmb = materialRmb.add(purchaseSupplierQuote.getMaterialRmb());
materialRmbSum = materialRmbSum.add(suplierMaterialRmbSum);
materialNoRmbSum = materialNoRmbSum.add(suplierMaterialNoRmbSum);
purchaseSupplierQuote.setPurchaseQuoteCode(purchaseOrder.getPurchaseOrderCode());
if (purchaseSupplierQuote.getSupplierCode() != null){
supplierNum ++;
}
}
purchaseOrderChild.setMaterialNormb(materialNoRmb);
purchaseOrderChild.setMaterialRmb(materialRmb);
purchaseOrderChild.setMaterialNum(materialNum);
}
purchaseOrderChild.setMaterialNormb(materialNoRmb);
purchaseOrderChild.setMaterialRmb(materialRmb);
purchaseOrderChild.setMaterialNum(materialNum);
}
purchaseOrder.setSupplierNum(supplierNum);
purchaseOrder.setSupplierNum(supplierNum);
}
return toAjax(purchaseOrderService.insertPurchaseOrder(purchaseOrder));
}

15
ruoyi-admin/src/main/resources/templates/purchase/purchasePlan/addPurchaseOrder.html

@ -230,14 +230,15 @@
materialRmbSum: 0,
purchaseOrderChildList: []
};
// 遍历每个物料容器
$('.table-materialCode').each(function(index, tableElement) {
console.log(tableElement);
var tableId = tableIdList[index]; // 从table ID中提取tableId
var materialTable = "bootstrap-table_" + tableId;
var data = $('#' + materialTable).bootstrapTable('getData');
var materialData = {
materialCode: , // 确保能正确获取物料编码
materialNum: 0,
materialCode:'' , // 假设'materialCode'是你要获取的字段名}) , // 确保能正确获取物料编码
materialNum:10,
materialNoRmbSum: 0,
materialRmbSum: 0,
purchaseQuoteChildList: []
@ -246,8 +247,8 @@
var materialNoRmbTotal = $('#' + 'materialNoRmbSum_' + tableId).val();
var materialRmbTotal = $('#' + 'materialRmbSum_' + tableId).val();
materialData.materialNum = parseInt(materialActualNum);
materialData.materialNoRmbSum = materialNoRmbTotal;
materialData.materialRmbSum = materialRmbTotal;
materialData.materialNoRmbSum = parseFloat(materialNoRmbTotal);
materialData.materialRmbSum = parseFloat(materialRmbTotal);
// 遍历该物料下的供应商信息
$('#' + 'material-' + tableId).find('.supplier-card').each(function(supplierIndex, supplierCard) {
var supplierQuote = {
@ -261,8 +262,8 @@
materialData.purchaseQuoteChildList.push(supplierQuote);
purchaseOrder.supplierNum += 1; // 累加供应商数量
});
purchaseOrder.materialNoRmbSum += $("#" + 'material-'+ tableId ).find("supplierTotal_" + tableId).find("input[name='materialNoRmbSum']");
purchaseOrder.materialRmbSum += $("#" + 'material-'+ tableId ).find("supplierTotal_" + tableId).find("input[name='materialNoRmbSum']"); // 累加含税总价
purchaseOrder.materialNoRmbSum += parseFloat(materialNoRmbTotal) ;
purchaseOrder.materialRmbSum += parseFloat(materialRmbTotal); // 累加含税总价
purchaseOrder.purchaseOrderChildList.push(materialData);
});

Loading…
Cancel
Save