From 4086570d2a4091c86e6fad35a0c36c8963cdf415 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 24 十一月 2025 14:56:26 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java | 83 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 73 insertions(+), 10 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
index 0d88662..319c357 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
@@ -7,11 +7,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.example.erp.common.Constants;
+import com.example.erp.dto.sd.OrderSearchDTO;
import com.example.erp.entity.sd.Product;
import com.example.erp.entity.sd.ProductDetail;
+import com.example.erp.entity.userInfo.Log;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.sd.ProductDetailMapper;
import com.example.erp.mapper.sd.ProductMapper;
+import com.example.erp.service.userInfo.LogService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -27,25 +30,41 @@
private final
ProductDetailMapper productDetailMapper;
- public ProductService(ProductMapper productMapper, ProductDetailMapper productDetailMapper) {
+ private final LogService logService;
+
+ public ProductService(ProductMapper productMapper, ProductDetailMapper productDetailMapper, LogService logService) {
this.productMapper = productMapper;
this.productDetailMapper = productDetailMapper;
+ this.logService = logService;
}
//浜у搧鏌ヨ鏂规硶
- public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType, Product product) {
+ public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType,Map<String,Object> config) {
Integer offset = (pageNum-1)*pageSize;
String glassTypeId = null;
- if(glassType.size()>1){
- glassTypeId = glassType.get(1);
+ if(glassType.size()==2){
+ if(!Objects.equals(glassType.get(0), "")&&!Objects.equals(glassType.get(1), "")){
+ glassTypeId = glassType.get(1);
+ }
+ }else if(glassType.size()==1){
+ if(!Objects.equals(glassType.get(0), "")&& !Objects.equals(glassType.get(0), "undefined")){
+ glassTypeId = glassType.get(0);
+ }
+
}
+ JSONObject orderJson = new JSONObject(config);
+ Product product = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Product.class);
+ Map<String,String> sortDate = (Map<String, String>) config.get("sort");
+ String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
+ String orderBy = sortDate.get("order");
+
Map<String,Object> map = new HashMap<>();
- map.put("data",productMapper.defaultProduct(offset,pageSize,glassTypeId,product));
+ map.put("data",productMapper.defaultProduct(offset,pageSize,glassTypeId,product,field, orderBy));
map.put("total",productMapper.getPageTotal(offset,pageSize,glassTypeId,product));
return map;
}
//浜у搧淇濆瓨鏂规硶
- public boolean saveProduct(Map<String,Object> productObject) {
+ public boolean saveProduct(Map<String,Object> productObject, String operator) {
//鎶婁紶鍏ヤ富闄勮〃鐨刼bject绫诲瀷杞崲鎴愬疄浣撶被绫诲瀷
JSONObject productJson = new JSONObject(productObject);
Product product = JSONObject.parseObject(JSONObject.toJSONString(productJson.get("title")), Product.class);
@@ -58,19 +77,44 @@
if(getProduct.getId()==null ){
insertProduct(getProduct,getProductDetails);
}else{
- updateProductData(getProductDetails,getProduct);
+ updateProductData(getProductDetails,getProduct,operator);
}
return true;
}
- private void updateProductData(List<ProductDetail> getProductDetails, Product getProduct) {
+ public Map<String,Object> selectProduct(String productName,Map<String,Object> productObject) {
+ Map<String,Object> map = new HashMap<>();
+ //鎶婁紶鍏ヤ富闄勮〃鐨刼bject绫诲瀷杞崲鎴愬疄浣撶被绫诲瀷
+ JSONObject productJson = new JSONObject(productObject);
+ Product product = JSONObject.parseObject(JSONObject.toJSONString(productJson.get("title")), Product.class);
+ List<ProductDetail> productDetails = JSONArray.parseArray(JSONObject.toJSONString(productJson.get("detail")), ProductDetail.class);
+ //瀹屽杽涓婚檮琛ㄤ俊鎭苟杩斿洖
+ Map<String,Object> getProductJson = updateProduct(productDetails,product);
+ Product getProduct = JSONObject.parseObject(JSONObject.toJSONString(getProductJson.get("title")), Product.class);
+ List<ProductDetail> getProductDetails = JSONArray.parseArray(JSONObject.toJSONString(getProductJson.get("detail")), ProductDetail.class);
+ if(getProduct.getId()!=null){
+ map.put("data",productMapper.selectProductId(productName,getProduct.getProductAbbreviation(), getProduct.getId()));
+ }else{
+ map.put("data",productMapper.selectProduct(productName,getProduct.getProductAbbreviation()));
+ }
+
+ return map;
+
+ }
+
+ private void updateProductData(List<ProductDetail> getProductDetails, Product getProduct, String operator) {
productMapper.update(getProduct,new UpdateWrapper<Product>().eq("id",getProduct.getId()));
productDetailMapper.delete(new QueryWrapper<ProductDetail>().eq("prod_id",getProduct.getId()));
for (ProductDetail getProductDetail : getProductDetails) {
getProductDetail.setProdId(getProduct.getId());
}
productDetailMapper.insertList(getProductDetails);
+ Log log = new Log();
+ log.setOperator(operator);
+ log.setContent(getProductDetails.toString()+getProduct.toString());
+ log.setFunction("浜у搧淇敼:saveProduct"+getProduct.getId());
+ logService.saveLog(log);
}
private void insertProduct(Product getProduct, List<ProductDetail> getProductDetails) {
@@ -80,8 +124,13 @@
for (ProductDetail getProductDetail : getProductDetails) {
getProductDetail.setProdId(getProduct.getId());
}
+
//鎻掑叆鍓〃
productDetailMapper.insertList(getProductDetails);
+ Log log = new Log();
+ log.setOperator(getProduct.getCreator());
+ log.setFunction("浜у搧鍒涘缓:saveProduct"+getProduct.getId());
+ logService.saveLog(log);
}
private Map<String,Object> updateProduct(List<ProductDetail> productDetailList,Product product) {
@@ -131,16 +180,25 @@
return map;
}
- public boolean deleteProductById(Integer id) {
+ public boolean deleteProductById(Integer id, String operator) {
Product product = productMapper.selectById(id);
if(product.getState()==1){
throw new ServiceException(Constants.Code_600,"浜у搧宸插鏍�,鏃犳硶鍒犻櫎");
}
productMapper.deleteById(id);
+ Log log = new Log();
+ log.setOperator(operator);
+ log.setFunction("浜у搧鍒犻櫎:deleteProductById"+id);
+ logService.saveLog(log);
return true;
}
- public boolean updateProductStateById(Integer id,Integer state) {
+ public boolean updateProductStateById(Integer id, Integer state, String operator) {
+ Log log = new Log();
+ log.setOperator(operator);
+ log.setContent(state+state==0?"鍙嶅":"瀹℃牳");
+ log.setFunction("浜у搧瀹℃牳鍙嶅:updateProductStateById"+id);
+ logService.saveLog(log);
return productMapper.updateProductStateById(id,state);
}
@@ -153,4 +211,9 @@
map.put("detail",productDetailList);
return map;
}
+
+ public List<Product> otherSysGetProduct() {
+ return productMapper.selectList(new QueryWrapper<Product>().eq("state",1)
+ .orderByDesc("id"));
+ }
}
--
Gitblit v1.8.0