From 873494885861271331bf7e51b679f537961f8def Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 18 六月 2025 11:03:57 +0800
Subject: [PATCH] 提交 产品日志文件和其他厂家获取流程卡接口
---
north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java | 20 +++---
north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java | 5 +
north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProductList.vue | 4
north-glass-erp/northglass-erp/src/main.js | 5 +
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java | 36 ++++++++++--
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java | 3
north-glass-erp/src/main/java/com/example/erp/entity/sd/ProductDetail.java | 2
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java | 6 ++
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 75 +++++++++++++++++++++++--
9 files changed, 129 insertions(+), 27 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/main.js b/north-glass-erp/northglass-erp/src/main.js
index 354857e..04ade50 100644
--- a/north-glass-erp/northglass-erp/src/main.js
+++ b/north-glass-erp/northglass-erp/src/main.js
@@ -35,8 +35,11 @@
app.use(pinia)
app.use(router)
app.use(ElementPlus,{
- locale: zhCn,
+ locale: (localStorage.getItem('lang') === 'zh-CN' || null)? zhCn : null,
})
+
+
+
app.use(i18n)
app.use(print)
app.use(hiPrintPlugin)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProductList.vue b/north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProductList.vue
index 05acd03..970ca16 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProductList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/glassPrice/ProductList.vue
@@ -153,7 +153,7 @@
router.push({path:'/main/product/createProduct',query:{id:row.id}})
break
}
- case 'delete': {
+ /*case 'delete': {
request.post(`/product/deleteProductById/${row.id}`).then((res) => {
if(res.code==200){
router.push({path:"/main/product/selectProduct",query:{random:Math.random()}})
@@ -163,7 +163,7 @@
if(err==="600")ElMessage.warning(t('product.msg.theProductHasBeenReviewedAndCannotBeDeleted'))
})
break
- }
+ }*/
}
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
index 8ece1ca..235d73c 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -386,6 +386,12 @@
return Result.seccess(flowCardService.getProcessCard(processCards));
}
+ @ApiOperation("鑾峰彇娴佺▼鍗℃帴鍙�")
+ @PostMapping("/getProcessCardList/all")
+ public Result getProcessCardAll(@RequestBody Map<String,String> processCards) {
+ return Result.seccess(flowCardService.getProcessCardAll(processCards));
+ }
+
@ApiOperation("澶嶉�夋鍒犻櫎娴佺▼鍗�")
@SaCheckPermission("selectProcessCard.delete")
@PostMapping("/checkboxDelete")
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java
index 9c108f4..4fa78fa 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java
@@ -39,14 +39,14 @@
@ApiOperation("浜у搧淇濆瓨鎺ュ彛")
@SaCheckPermission("createProduct.add")
- @PostMapping("/saveProduct")
- public Result saveProduct(@RequestBody Map<String,Object> product){
- return Result.seccess(productService.saveProduct(product));
+ @PostMapping("/saveProduct/{operator}")
+ public Result saveProduct(@PathVariable String operator,@RequestBody Map<String,Object> product){
+ return Result.seccess(productService.saveProduct(product,operator));
}
@ApiOperation("鍏朵粬绯荤粺浜у搧淇濆瓨鎺ュ彛")
@PostMapping("/otherSysSaveProduct")
public Result otherSysSaveProduct(@RequestBody Map<String,Object> product){
- return Result.seccess(productService.saveProduct(product));
+ return Result.seccess(productService.saveProduct(product,null));
}
@ApiOperation("浜у搧鏌ラ噸鎺ュ彛")
@@ -58,16 +58,16 @@
@ApiOperation("浜у搧鍒犻櫎鎺ュ彛")
@SaCheckPermission("selectProduct.delete")
- @PostMapping("/deleteProductById/{id}")
- public Result deleteProductById(@PathVariable Integer id){
- return Result.seccess(productService.deleteProductById(id));
+ @PostMapping("/deleteProductById/{id}/{operator}")
+ public Result deleteProductById(@PathVariable Integer id,@PathVariable String operator){
+ return Result.seccess(productService.deleteProductById(id,operator));
}
@ApiOperation("浜у搧瀹℃牳鐘舵�佷慨鏀规帴鍙�")
@SaCheckPermission("createProduct.review")
- @PostMapping("/updateProductStateById/{id}/{state}")
- public Result updateProductStateById(@PathVariable Integer id,@PathVariable Integer state){
- return Result.seccess(productService.updateProductStateById(id,state));
+ @PostMapping("/updateProductStateById/{id}/{state}/{operator}")
+ public Result updateProductStateById(@PathVariable Integer id,@PathVariable Integer state,@PathVariable String operator){
+ return Result.seccess(productService.updateProductStateById(id,state,operator));
}
@ApiOperation("鏍规嵁浜у搧id鏌ヨ浜у搧鎺ュ彛")
@SaCheckPermission("selectProduct.edit")
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java b/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
index 48ffb43..580f539 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -114,6 +114,5 @@
@TableField(select = false,exist= false)
private OrderGlassDetail orderGlassDetail;
- @TableField(select = false,exist= false)
- private Product product;
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java
index dc7fb55..a410944 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java
@@ -3,11 +3,14 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDate;
+import java.util.List;
@Data
+@TableName("sd.`product`")
public class Product {
@TableId(type = IdType.AUTO)
private Long id;
@@ -25,5 +28,7 @@
private LocalDate updateTime;
@TableField(select = false)
private BasicGlassType basicGlassType;
+ @TableField(select = false,exist= false)
+ private List<ProductDetail> ProductDetails;
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/ProductDetail.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/ProductDetail.java
index 2877505..f24622a 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/ProductDetail.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/ProductDetail.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -11,6 +12,7 @@
@Data
+@TableName("sd.`product_detail`")
public class ProductDetail {
@TableId(type = IdType.AUTO)
private Long id;
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 7872e80..162ce35 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -7,16 +7,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.common.Constants;
import com.example.erp.entity.pp.FlowCard;
-import com.example.erp.entity.sd.OrderDetail;
-import com.example.erp.entity.sd.OrderGlassDetail;
-import com.example.erp.entity.sd.OrderProcessDetail;
+import com.example.erp.entity.sd.*;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.pp.FlowCardMapper;
-import com.example.erp.mapper.sd.OrderGlassDetailMapper;
-import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@@ -45,12 +43,19 @@
OrderProcessDetailMapper orderProcessDetailMapper;
final
LogService logService;
+ private final ProductMapper productMapper;
+ private final ProductDetailMapper productDetailMapper;
- public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService) {
+ private final OrderDetailMapper orderDetailMapper;
+
+ public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService, ProductMapper productMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper) {
this.flowCardMapper = flowCardMapper;
this.orderGlassDetailMapper = orderGlassDetailMapper;
this.orderProcessDetailMapper = orderProcessDetailMapper;
this.logService = logService;
+ this.productMapper = productMapper;
+ this.productDetailMapper = productDetailMapper;
+ this.orderDetailMapper = orderDetailMapper;
}
//娴佺▼鍗$鐞嗘煡璇�
@@ -957,6 +962,62 @@
return flowCardList;
}
+ public Map<String,Object> getProcessCardAll(Map<String, String> processCards) {
+ String processCard = processCards.get("processCard");
+ if (!processCard.contains("/")) {
+ throw new ServiceException(Constants.Code_600, "閿欒鐨勬祦绋嬪崱鍙凤紝璇锋鏌�!");
+ }
+
+ String[] processCardList = processCard.split("/");
+ List<String> result = IntStream.range(0, processCardList[1].length())
+ .mapToObj(i -> String.valueOf(processCardList[1].charAt(i)))
+ .collect(Collectors.toList());
+
+ List<FlowCard> flowCardList = flowCardMapper.selectList(
+ new QueryWrapper<FlowCard>()
+ .eq("process_id", processCardList[0])
+ .in("technology_number", result)
+ );
+ for (FlowCard flowCard : flowCardList) {
+ flowCard.setOrderGlassDetail(
+ orderGlassDetailMapper.selectOne(
+ new QueryWrapper<OrderGlassDetail>()
+ .eq("order_id", flowCard.getOrderId())
+ .eq("order_number", flowCard.getOrderNumber())
+ .eq("technology_number", flowCard.getTechnologyNumber())
+ )
+ );
+ String str = flowCard.getOrderGlassDetail().getGlassChild();
+ String delimiter = "mm";
+ int index = str.indexOf(delimiter);
+ Integer subString = Integer.valueOf(str.substring(0, index).trim());
+ flowCard.getOrderGlassDetail().setThickness(subString);
+ }
+ OrderDetail orderDetail = orderDetailMapper
+ .selectOne(new QueryWrapper<OrderDetail>()
+ .eq("order_id", flowCardList.get(0).getOrderId())
+ .eq("order_number", flowCardList.get(0).getOrderNumber())
+ );
+ Product product = productMapper
+ .selectOne(new QueryWrapper<Product>()
+ .eq("id",orderDetail.getProductId()));
+ product.setProductDetails(productDetailMapper
+ .selectList(new QueryWrapper<ProductDetail>()
+ .eq("prod_id",orderDetail.getProductId())
+ )
+ );
+
+
+ Map<String,Object> map = new HashMap<>();
+ map.put("product",product);
+ map.put("flowCard",flowCardList);
+
+
+
+ return map;
+ }
+
+
public Boolean checkboxDeleteSv(Map<String, Object> object) {
String userName = "";
if (object.get("userName") != null) {
@@ -1257,6 +1318,8 @@
}
}
+
+
}
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 8b5f4b1..915a2cf 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
@@ -9,9 +9,11 @@
import com.example.erp.common.Constants;
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,9 +29,12 @@
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) {
@@ -45,7 +50,7 @@
}
//浜у搧淇濆瓨鏂规硶
- 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,7 +63,7 @@
if(getProduct.getId()==null ){
insertProduct(getProduct,getProductDetails);
}else{
- updateProductData(getProductDetails,getProduct);
+ updateProductData(getProductDetails,getProduct,operator);
}
return true;
@@ -84,13 +89,18 @@
}
- private void updateProductData(List<ProductDetail> getProductDetails, Product getProduct) {
+ 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) {
@@ -100,8 +110,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) {
@@ -151,16 +166,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);
}
--
Gitblit v1.8.0