From 2b370ca07ee6d4fed98a17fa2a7ade41daf52024 Mon Sep 17 00:00:00 2001 From: xd <844539747@qq.com> Date: Sun, 12 May 2024 11:24:28 +0800 Subject: [PATCH] '123' --- .../controller/redBook/RedBookController.java | 30 +++++- .../java/com/ruoyi/redBook/domain/OAQuot.java | 64 +++++++++++ .../ruoyi/redBook/domain/OAQuotProduct.java | 87 +++++++++++++++ .../ruoyi/redBook/mapper/OARedBookMapper.java | 14 +++ .../redBook/service/IRedBookService.java | 9 ++ .../service/impl/RedBookServiceImpl.java | 46 ++++++++ .../mapper/customer/CustomerMapper.xml | 8 +- .../mapper/redBook/OARedBookMapper.xml | 32 ++++++ ruoyi-ui/src/api/redBook/redBook.js | 9 ++ ruoyi-ui/src/views/redBook/productSelect.vue | 102 +++++++++++++----- 10 files changed, 371 insertions(+), 30 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuot.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuotProduct.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/redBook/RedBookController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/redBook/RedBookController.java index 14863ce..2b0d334 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/redBook/RedBookController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/redBook/RedBookController.java @@ -1,11 +1,17 @@ package com.ruoyi.web.controller.redBook; import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.redBook.domain.Product; +import com.ruoyi.redBook.domain.OAQuot; import com.ruoyi.redBook.service.IRedBookService; +import com.ruoyi.web.utils.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,7 +26,6 @@ import java.util.List; */ @RestController @RequestMapping("/redBook/redBook") -@DataSource(DataSourceType.OAREDBOOK) public class RedBookController extends BaseController { @Autowired @@ -31,6 +36,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productList") public List productList(Product product) { @@ -43,6 +49,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productRemarkList") public List productRemarkList(Product product) { @@ -55,6 +62,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productXinghList") public List productXinghList(Product product) { @@ -67,6 +75,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/judgeparent") public Boolean judgeparent(Product product) { @@ -83,6 +92,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productZlList") public List productZlList(Product product) { @@ -95,6 +105,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productYsxhListCheck") public Boolean productYsxhListCheck(Product product) { @@ -111,6 +122,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productYsxhList") public List productYsxhList(Product product) { @@ -123,6 +135,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productJmListCheck") public Boolean productJmListCheck(Product product) { @@ -138,6 +151,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/productJmList") public List productJmList(Product product) { @@ -150,6 +164,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/searchData") public List searchData(Product product) { @@ -161,6 +176,7 @@ public class RedBookController extends BaseController * @param product * @return */ + @DataSource(DataSourceType.OAREDBOOK) @GetMapping("/handleSearchData") public List handleSearchData(Product product) { @@ -175,4 +191,16 @@ public class RedBookController extends BaseController } return list; } + + @DataSource(DataSourceType.MASTER) + @Log(title = "报价单生成", businessType = BusinessType.OTHER) + @PostMapping("/madeQuot") + public AjaxResult madeQuot(@RequestBody OAQuot quot) + { + quot.setQuot_id(UUID.fastUUID().toString()); + quot.setQuotCode(IdUtils.createNo("BJD_",2)); + quot.setCreateBy(getUsername()); + redBookService.insertOAQuot(quot); + return success(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuot.java b/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuot.java new file mode 100644 index 0000000..3c60eb1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuot.java @@ -0,0 +1,64 @@ +package com.ruoyi.redBook.domain; + +import com.ruoyi.common.core.domain.BaseEntity; + +import java.util.List; + +public class OAQuot extends BaseEntity { + private String quot_id; + private String quotCode;//报价单号 + private String quotCustomer;//报价客户 + private String quotProject;//报价项目 + private String quotLxr;//联系人 + private String quotLxrdh;//联系人电话 + + private List selectedResultData; + + public String getQuot_id() { return quot_id; } + + public void setQuot_id(String quot_id) { this.quot_id = quot_id; } + + public String getQuotCode() { return quotCode; } + + public void setQuotCode(String quotCode) { this.quotCode = quotCode; } + + public String getQuotCustomer() { + return quotCustomer; + } + + public void setQuotCustomer(String quotCustomer) { + this.quotCustomer = quotCustomer; + } + + public String getQuotProject() { + return quotProject; + } + + public void setQuotProject(String quotProject) { + this.quotProject = quotProject; + } + + public String getQuotLxr() { + return quotLxr; + } + + public void setQuotLxr(String quotLxr) { + this.quotLxr = quotLxr; + } + + public String getQuotLxrdh() { + return quotLxrdh; + } + + public void setQuotLxrdh(String quotLxrdh) { + this.quotLxrdh = quotLxrdh; + } + + public List getSelectedResultData() { + return selectedResultData; + } + + public void setSelectedResultData(List selectedResultData) { + this.selectedResultData = selectedResultData; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuotProduct.java b/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuotProduct.java new file mode 100644 index 0000000..8e76678 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/redBook/domain/OAQuotProduct.java @@ -0,0 +1,87 @@ +package com.ruoyi.redBook.domain; + +import java.math.BigDecimal; + +public class OAQuotProduct { + private String name_0;//型号 + private String spec;//规格 + private String voltage;//电压 + private String stu;//单位 + private BigDecimal setPrice;//单价 + private BigDecimal count;//数量 + private BigDecimal allPrice;//金额 + private String quot_product_id;//id + private String quot_id;//报价单id + + public String getName_0() { + return name_0; + } + + public void setName_0(String name_0) { + this.name_0 = name_0; + } + + public String getSpec() { + return spec; + } + + public void setSpec(String spec) { + this.spec = spec; + } + + public String getVoltage() { + return voltage; + } + + public void setVoltage(String voltage) { + this.voltage = voltage; + } + + public String getStu() { + return stu; + } + + public void setStu(String stu) { + this.stu = stu; + } + + public BigDecimal getSetPrice() { + return setPrice; + } + + public void setSetPrice(BigDecimal setPrice) { + this.setPrice = setPrice; + } + + public BigDecimal getCount() { + return count; + } + + public void setCount(BigDecimal count) { + this.count = count; + } + + public BigDecimal getAllPrice() { + return allPrice; + } + + public void setAllPrice(BigDecimal allPrice) { + this.allPrice = allPrice; + } + + public String getQuot_product_id() { + return quot_product_id; + } + + public void setQuot_product_id(String quot_product_id) { + this.quot_product_id = quot_product_id; + } + + public String getQuot_id() { + return quot_id; + } + + public void setQuot_id(String quot_id) { + this.quot_id = quot_id; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/redBook/mapper/OARedBookMapper.java b/ruoyi-system/src/main/java/com/ruoyi/redBook/mapper/OARedBookMapper.java index f115f8b..405466a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/redBook/mapper/OARedBookMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/redBook/mapper/OARedBookMapper.java @@ -3,6 +3,8 @@ package com.ruoyi.redBook.mapper; import com.ruoyi.material.domain.CMaterial; import com.ruoyi.material.domain.CMaterialCost; import com.ruoyi.material.domain.temp; +import com.ruoyi.redBook.domain.OAQuot; +import com.ruoyi.redBook.domain.OAQuotProduct; import com.ruoyi.redBook.domain.Product; import org.apache.ibatis.annotations.Param; @@ -72,4 +74,16 @@ public interface OARedBookMapper * @return */ List handleSearchData(@Param("name_0")String name_0,@Param("model")String model); + + /** + * 保存报价单 + * @param quot + */ + void insertOAQuot(OAQuot quot); + + /** + * 新增报价单产品信息 + * @param list + */ + void batchOAQuotProduct(List list); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/redBook/service/IRedBookService.java b/ruoyi-system/src/main/java/com/ruoyi/redBook/service/IRedBookService.java index bda3abf..929a787 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/redBook/service/IRedBookService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/redBook/service/IRedBookService.java @@ -1,5 +1,8 @@ package com.ruoyi.redBook.service; +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.redBook.domain.OAQuot; import com.ruoyi.redBook.domain.Product; import java.util.List; @@ -68,4 +71,10 @@ public interface IRedBookService * @return */ List handleSearchData(String name_0,String model); + + /** + * 保存报价单 + * @param quot + */ + void insertOAQuot(OAQuot quot); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/redBook/service/impl/RedBookServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/redBook/service/impl/RedBookServiceImpl.java index dd334fe..27e8d4b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/redBook/service/impl/RedBookServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/redBook/service/impl/RedBookServiceImpl.java @@ -1,11 +1,20 @@ package com.ruoyi.redBook.service.impl; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.uuid.UUID; +import com.ruoyi.customer.domain.Bank; +import com.ruoyi.customer.domain.Customer; +import com.ruoyi.redBook.domain.OAQuot; +import com.ruoyi.redBook.domain.OAQuotProduct; import com.ruoyi.redBook.domain.Product; import com.ruoyi.redBook.mapper.OARedBookMapper; import com.ruoyi.redBook.service.IRedBookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; /** @@ -100,4 +109,41 @@ public class RedBookServiceImpl implements IRedBookService public List handleSearchData(String name_0,String model) { return oaRedBookMapper.handleSearchData(name_0,model); } + + /** + * 保存报价单 + * @param quot + */ + @Transactional + @Override + public void insertOAQuot(OAQuot quot) { + quot.setCreateTime(DateUtils.getNowDate()); + quot.setUpdateTime(DateUtils.getNowDate()); + oaRedBookMapper.insertOAQuot(quot); + insertOAQuotProduct(quot); + } + + /** + * 新增报价单产品信息 + * @param quot + */ + public void insertOAQuotProduct(OAQuot quot) + { + List productList = quot.getSelectedResultData(); + String quot_id = quot.getQuot_id(); + if (StringUtils.isNotNull(productList)) + { + List list = new ArrayList(); + for (OAQuotProduct product : productList) + { + product.setQuot_product_id(UUID.fastUUID().toString()); + product.setQuot_id(quot_id); + list.add(product); + } + if (list.size() > 0) + { + oaRedBookMapper.batchOAQuotProduct(list); + } + } + } } diff --git a/ruoyi-system/src/main/resources/mapper/customer/CustomerMapper.xml b/ruoyi-system/src/main/resources/mapper/customer/CustomerMapper.xml index 2425b88..7ce0123 100644 --- a/ruoyi-system/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/customer/CustomerMapper.xml @@ -103,9 +103,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into customer cus_id, - cus_code, + cus_code, cus_name, - cus_sap_code, + cus_sap_code, cus_street, cus_qcc_street, cus_payment_terms, @@ -137,9 +137,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{cusId}, - #{cusCode}, + #{cusCode}, #{cusName}, - #{cusSapCode}, + #{cusSapCode}, #{cusStreet}, #{cusQccStreet}, #{cusPaymentTerms}, diff --git a/ruoyi-system/src/main/resources/mapper/redBook/OARedBookMapper.xml b/ruoyi-system/src/main/resources/mapper/redBook/OARedBookMapper.xml index 6c280eb..1510bfe 100644 --- a/ruoyi-system/src/main/resources/mapper/redBook/OARedBookMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/redBook/OARedBookMapper.xml @@ -78,4 +78,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and A.规格 = #{model} + + + + insert into OAQuot + + quot_id, + quotCode, + quotCustomer, + quotProject, + quotLxr, + quotLxrdh, + create_by, + create_time + + + #{quot_id}, + #{quotCode}, + #{quotCustomer}, + #{quotProject}, + #{quotLxr}, + #{quotLxrdh}, + #{createBy}, + getdate() + + + + + insert into OAQuotProduct(quot_product_id, name_0, spec, voltage,stu,setPrice,count,allPrice,quot_id) values + + ( #{item.quot_product_id}, #{item.name_0}, #{item.spec}, #{item.voltage}, #{item.stu},cast(#{item.setPrice,jdbcType=DECIMAL} as decimal(18,2)), cast(#{item.count,jdbcType=DECIMAL} as decimal(18,3)), cast(#{item.allPrice,jdbcType=DECIMAL} as decimal(18,2)), #{item.quot_id}) + + diff --git a/ruoyi-ui/src/api/redBook/redBook.js b/ruoyi-ui/src/api/redBook/redBook.js index de64bef..ef2b0aa 100644 --- a/ruoyi-ui/src/api/redBook/redBook.js +++ b/ruoyi-ui/src/api/redBook/redBook.js @@ -100,5 +100,14 @@ export function handleSearchData(query) { }) } +//生成报价单 +export function madeQuot(data) { + return request({ + url: '/redBook/redBook/madeQuot', + method: 'post', + data: data + }) +} + diff --git a/ruoyi-ui/src/views/redBook/productSelect.vue b/ruoyi-ui/src/views/redBook/productSelect.vue index 29e73a6..c82ca74 100644 --- a/ruoyi-ui/src/views/redBook/productSelect.vue +++ b/ruoyi-ui/src/views/redBook/productSelect.vue @@ -1,13 +1,16 @@ - + - + />--> @@ -161,7 +168,7 @@ }