From ed6f35069824d71ee6da599a328d865eb0c58550 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 25 四月 2024 09:16:26 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/a1536384743/erp_-override
---
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java | 64 +++++++++++++++++++++++++------
1 files changed, 51 insertions(+), 13 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 b048dae..0d88662 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
@@ -1,21 +1,22 @@
package com.example.erp.service.sd;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
import com.baomidou.dynamic.datasource.annotation.DS;
+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.entity.sd.Product;
import com.example.erp.entity.sd.ProductDetail;
+import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.sd.ProductDetailMapper;
import com.example.erp.mapper.sd.ProductMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
@Service
@DS("sd")
@@ -30,7 +31,7 @@
this.productMapper = productMapper;
this.productDetailMapper = productDetailMapper;
}
-//浜у搧鏌ヨ鏂规硶
+ //浜у搧鏌ヨ鏂规硶
public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType, Product product) {
Integer offset = (pageNum-1)*pageSize;
String glassTypeId = null;
@@ -43,18 +44,36 @@
return map;
}
-//浜у搧淇濆瓨鏂规硶
+ //浜у搧淇濆瓨鏂规硶
public boolean saveProduct(Map<String,Object> productObject) {
//鎶婁紶鍏ヤ富闄勮〃鐨刼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 ){
+ insertProduct(getProduct,getProductDetails);
+ }else{
+ updateProductData(getProductDetails,getProduct);
+ }
+ return true;
+
+ }
+
+ private void updateProductData(List<ProductDetail> getProductDetails, Product getProduct) {
+ 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);
+ }
+
+ private void insertProduct(Product getProduct, List<ProductDetail> getProductDetails) {
//鎻掑叆涓昏〃鏁版嵁
productMapper.insert(getProduct);
//缁欏壇琛ㄦ坊鍔犱骇鍝乮d
@@ -63,9 +82,6 @@
}
//鎻掑叆鍓〃
productDetailMapper.insertList(getProductDetails);
-
- return false;
-
}
private Map<String,Object> updateProduct(List<ProductDetail> productDetailList,Product product) {
@@ -87,8 +103,7 @@
for (ProductDetail productDetail : productDetailList) {
sortNum+=1;
productDetail.setSortNum(sortNum);
-
- JSONObject separation = JSONObject.parseObject( productDetail.getSeparation());
+ JSONObject separation = JSONObject.parseObject(productDetail.getSeparation(), Feature.OrderedField);
String getThickness = (String) separation.get("thickness");
double thicknessDetail = Double.parseDouble(getThickness.replace("mm",""));
totalThickness += thicknessDetail;
@@ -115,4 +130,27 @@
map.put("detail",productDetailList);
return map;
}
+
+ public boolean deleteProductById(Integer id) {
+ Product product = productMapper.selectById(id);
+ if(product.getState()==1){
+ throw new ServiceException(Constants.Code_600,"浜у搧宸插鏍�,鏃犳硶鍒犻櫎");
+ }
+ productMapper.deleteById(id);
+ return true;
+ }
+
+ public boolean updateProductStateById(Integer id,Integer state) {
+ return productMapper.updateProductStateById(id,state);
+ }
+
+ public Map<String,Object> selectProductById(Integer id) {
+ Product product = productMapper.selectById(id);
+ List<ProductDetail> productDetailList = productDetailMapper.selectList(
+ new QueryWrapper<ProductDetail>().eq("prod_id", id));
+ Map<String,Object> map = new HashMap<>();
+ map.put("title",product);
+ map.put("detail",productDetailList);
+ return map;
+ }
}
--
Gitblit v1.8.0