diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java index d214581d..9ec1c371 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java @@ -10,6 +10,7 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterialVo; +import com.ruoyi.erp.domain.vo.ErpMaterialPurchaseHistoryVo; import com.ruoyi.erp.domain.vo.ErpMaterialSalesHistoryVo; import com.ruoyi.erp.mapper.ErpMaterialMapper; import com.ruoyi.erp.service.IErpMaterialService; @@ -484,4 +485,16 @@ public class ErpMaterialController extends BaseController return getDataTable(list); } + + /** + * 物料采购价格历史 + * */ + @PostMapping ("/getMaterialPurchaseHistoryList") + @ResponseBody + public TableDataInfo getMaterialPurchaseHistoryList(@RequestParam String materialNo){ + startPage(); + List list = erpMaterialService.selectErpMaterialPurchaseHistoryList(materialNo); + return getDataTable(list); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpMaterialPurchaseHistoryVo.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpMaterialPurchaseHistoryVo.java new file mode 100644 index 00000000..c0c6d418 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpMaterialPurchaseHistoryVo.java @@ -0,0 +1,38 @@ +package com.ruoyi.erp.domain.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +//物料采购价历史 +@Data +public class ErpMaterialPurchaseHistoryVo { + + + //销售时间 + private Date purchaseTime; + + //物料数量 + private BigDecimal materialNum; + + + //含税价格 + private BigDecimal taxPrice; + + //不含税价格 + private BigDecimal noTaxPrice; + + //含税总价 + private BigDecimal taxSum; + + //不含税总价 + private BigDecimal noTaxSum; + + //采购员 + private String purchaseUser; + + //关联销采购订单号 + private String purchaseOrderCode; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java index 10f5aaa0..4769278e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java @@ -2,6 +2,7 @@ package com.ruoyi.erp.service; import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterialVo; +import com.ruoyi.erp.domain.vo.ErpMaterialPurchaseHistoryVo; import com.ruoyi.erp.domain.vo.ErpMaterialSalesHistoryVo; import org.activiti.engine.runtime.ProcessInstance; import org.springframework.transaction.annotation.Transactional; @@ -145,4 +146,9 @@ public interface IErpMaterialService * 查询物料销售价历史 * */ List selectErpMaterialSalesHistoryList(String materialNo); + + /** + * 查询物料采购价历史 + * */ + List selectErpMaterialPurchaseHistoryList(String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java index 5d69e420..f6a4e790 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java @@ -11,11 +11,17 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterialVo; +import com.ruoyi.erp.domain.vo.ErpMaterialPurchaseHistoryVo; import com.ruoyi.erp.domain.vo.ErpMaterialSalesHistoryVo; import com.ruoyi.erp.mapper.ErpMaterialMapper; import com.ruoyi.erp.service.IErpMaterialService; import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; +import com.ruoyi.purchase.domain.PurchaseOrder; +import com.ruoyi.purchase.domain.PurchaseOrderChild; +import com.ruoyi.purchase.mapper.PurchaseOrderChildMapper; +import com.ruoyi.purchase.mapper.PurchaseOrderMapper; +import com.ruoyi.purchase.mapper.PurchasePlanChildMapper; import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.Vo.ExportCustomerQuoteChildVo; import com.ruoyi.system.mapper.SysSalesOrderChildMapper; @@ -79,13 +85,20 @@ public class ErpMaterialServiceImpl implements IErpMaterialService @Autowired private ISysRoleService roleService; - @Autowired private SysSalesOrderChildMapper sysSalesOrderChildMapper; @Autowired private SysSalesOrderMapper sysSalesOrderMapper; + @Autowired + private PurchaseOrderMapper purchaseOrderMapper; + + @Autowired + private PurchaseOrderChildMapper purchaseOrderChildMapper; + + + private final static String RMB = "1"; //RMB /** @@ -547,6 +560,32 @@ public class ErpMaterialServiceImpl implements IErpMaterialService return erpMaterialSalesHistoryVos; } + + /** + * 查询物料采购价历史 + * */ + @Override + public List selectErpMaterialPurchaseHistoryList(String materialNo) { + List erpMaterialPurchaseHistoryVos = new ArrayList<>(); + + List purchaseOrderChildList = purchaseOrderChildMapper.selectOrderChildListByMaterialNo(materialNo); + for (PurchaseOrderChild purchaseOrderChild : purchaseOrderChildList) { + ErpMaterialPurchaseHistoryVo erpMaterialPurchaseHistoryVo = new ErpMaterialPurchaseHistoryVo(); + String purchaseOrderCode = purchaseOrderChild.getPurchaseOrderCode(); + PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode(purchaseOrderCode); + erpMaterialPurchaseHistoryVo.setMaterialNum(purchaseOrderChild.getMaterialNum()); + erpMaterialPurchaseHistoryVo.setPurchaseUser(purchaseOrder.getPurchaseBuyer()); + erpMaterialPurchaseHistoryVo.setPurchaseOrderCode(purchaseOrder.getPurchaseOrderCode()); + erpMaterialPurchaseHistoryVo.setPurchaseTime(purchaseOrderChild.getCreateTime()); + erpMaterialPurchaseHistoryVo.setTaxPrice(purchaseOrderChild.getMaterialRmb()); + erpMaterialPurchaseHistoryVo.setNoTaxPrice(purchaseOrderChild.getMaterialNoRmb()); + erpMaterialPurchaseHistoryVo.setTaxSum(purchaseOrderChild.getMaterialRmbSum()); + erpMaterialPurchaseHistoryVo.setNoTaxSum(purchaseOrderChild.getMaterialNoRmbSum()); + erpMaterialPurchaseHistoryVos.add(erpMaterialPurchaseHistoryVo); + } + return erpMaterialPurchaseHistoryVos; + } + //区分不同币种的金额 private void setMaterialPrice(ErpMaterialSalesHistoryVo vo, SysSalesOrderVo sysSalesOrderVo, SysSalesOrderChild child) { if (RMB.equals(sysSalesOrderVo.getCommonCurrency())) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderChildMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderChildMapper.java index 4b88cfe3..b575454c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderChildMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/purchase/mapper/PurchaseOrderChildMapper.java @@ -110,4 +110,9 @@ public interface PurchaseOrderChildMapper List selectChildListBySupplierCodeAndOrderCode(PurchaseOrderChild purchaseOrderChild); + + /** + * 通过料号查询采购订单子表列表 + * */ + List selectOrderChildListByMaterialNo(String materialCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java index 965f2c7d..8d300172 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java @@ -185,6 +185,10 @@ public class SysCustomerServiceImpl implements ISysCustomerService if(currency.contains("2")){ sysCustomer.setUsdFlag("1"); } + + //默认为仅报价 + sysCustomer.setCustomerSign("1"); + //添加联系人 // sysContacts.setCustomerName(sysCustomer.getCustomerContact()); // sysContacts.setCellPhone(sysCustomer.getContactNumber()); diff --git a/ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderChildMapper.xml b/ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderChildMapper.xml index 4c7f634c..b4ed390b 100644 --- a/ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderChildMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/purchase/PurchaseOrderChildMapper.xml @@ -116,6 +116,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + insert into purchase_order_child @@ -300,4 +306,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM purchase_order_child where purchase_order_code = #{purchaseOrderCode} GROUP BY purchase_order_code,material_code + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml index c6b20c28..d54a8406 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml @@ -223,6 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" rmb_flag, usd_flag cancel_remark, + customer_sign, #{enterpriseCode}, @@ -278,6 +279,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{rmbFlag}, #{usdFlag} #{cancelRemark}, + #{customerSign} @@ -325,7 +327,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" use_status = #{useStatus}, identifying_people = #{identifyingPeople}, customer_remarks = #{customerRemarks}, - customer_sign = #{customer_sign}, + customer_sign = #{customerSign}, update_by = #{updateBy}, update_time = #{updateTime}, instance_id = #{instanceId}, diff --git a/ruoyi-admin/src/main/resources/templates/erp/material/detail.html b/ruoyi-admin/src/main/resources/templates/erp/material/detail.html index 609f6c89..ac587bc9 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/material/detail.html +++ b/ruoyi-admin/src/main/resources/templates/erp/material/detail.html @@ -106,13 +106,13 @@
销售价历史
-
+
采购价历史
-
+
@@ -332,9 +332,9 @@ }; $.table.init(option1); // 销售价历史 - $('#xiaoshou-table').bootstrapTable('destroy'); + $('#sales-table').bootstrapTable('destroy'); var option2 ={ - id: "xiaoshou-table", + id: "sales-table", url: prefix + "/getMaterialSalesHistoryList", showSearch: false, showRefresh: false, @@ -429,18 +429,6 @@ field: 'salesOrderCode', title: '关联单号' }, - // { - // field: 'total', - // title: '合计', - // footerFormatter: function() { - // //统计总分数 - // var count = 0; - // $.each(data.rows, function (index, item) { - // count += item.materialNum; - // }); - // return count; - // } - // } ] }; $.table.init(option2); @@ -449,9 +437,10 @@ //采购价历史 - $('#purser-table').bootstrapTable('destroy'); + $('#purchase-table').bootstrapTable('destroy'); var option3 = { - id: 'purser-table', + id: 'purchase-table', + url: prefix + "/getMaterialPurchaseHistoryList", showSearch: false, showRefresh: false, showToggle: false, @@ -459,81 +448,95 @@ uniqueId: "id", pagination: false, // 设置不分页 sidePagination: "client", + pageNumber:5, + showFooter: true, queryParams: function (params) { //console.log("123"); var curParams = { - // 传递参数查询参数 - pageSize: params.limit, - pageNum: params.offset / params.limit + 1, - materialCode: materialNo + materialNo: materialNo }; return curParams }, - columns: [{ - checkbox: true - }, - { - field: 'purchaseOrderId', - title: '采购订单id' - }, - { - field: 'purchaseOrderNumber', - title: '订购单号' - }, - { - field: 'supplierCode', - title: '供应商代码' - }, - { - field: 'supplierName', - title: '供应商名称' - }, + columns: [ { - field: 'rawSubsidiaryCode', - title: '原辅料代码' + field: 'index', + title: '索引', + visible: false }, { - field: 'rawSubsidiaryName', - title: '原辅料名称' + field: 'purchaseTime', + title: '采购时间' }, { - field: 'specificationModel', - title: '规格型号' + field: 'materialNum', + title: '数量', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].materialNum); + } + return sum; + } }, { - field: 'commonCurrency', - title: '币别', - formatter: function(value, row, index) { - return $.table.selectDictLabel(commonCurrencyDatas, value); + field: 'taxPrice', + title: '含税价格', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].taxPrice); + } + return sum; } }, { - field: 'purchasingUnit', - title: '采购单位' + field: 'noTaxPrice', + title: '不含税价格', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].noTaxPrice); + } + return sum; + } }, { - field: 'purchasePrice', - title: '采购单价' + field: 'taxSum', + title: '含税总价', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].taxSum); + } + return sum; + } }, { - field: 'materialQuantity', - title: '数量' + field: 'noTaxSum', + title: '不含税总价', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].noTaxSum); + } + return sum; + } }, { - field: 'amountMoney', - title: '金额' + field: 'purchaseUser', + title: '采购员', }, { - field: 'deliveryTime', - title: '交期' + field: 'purchaseOrderCode', + title: '关联单号' }, - { - field: 'purchaseExplain', - title: '说明' - } ] }; $.table.init(option3); + + + + //操作历史 $('#oper-table').bootstrapTable('destroy'); var option4 = {