From 94c0a729da1b88ab4a0067f1e14a00264e0447cf Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 15 十二月 2025 17:04:05 +0800
Subject: [PATCH] bom管理中空胶计算调整
---
north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 114 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
new file mode 100644
index 0000000..77427d6
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
@@ -0,0 +1,114 @@
+package com.example.erp.service.sd;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.*;
+import com.example.erp.mapper.sd.BomDataMapper;
+import com.example.erp.mapper.sd.BasicOtherMoneyMapper;
+import com.example.erp.mapper.sd.CustomerMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+@Service
+@DS("sd")
+public class BomDataService {
+ private final BomDataMapper bomDataMapper;
+
+ private final CustomerMapper customerMapper;
+ private final BasicOtherMoneyMapper basicOtherMoneyMapper;
+
+ public BomDataService(BomDataMapper bomDataMapper, CustomerMapper customerMapper, BasicOtherMoneyMapper basicOtherMoneyMapper) {
+ this.bomDataMapper = bomDataMapper;
+ this.customerMapper = customerMapper;
+ this.basicOtherMoneyMapper = basicOtherMoneyMapper;
+ }
+
+
+ public Boolean saveMaterialBomDataSv(Map<String, Object> object) {
+ Integer id = (Integer) object.get("MaterialId");
+ String name = (String) object.get("MaterialName");
+ Object consume = object.get("consume");
+ Object price = object.get("price");
+ Integer type = (Integer) object.get("type");
+ String unit="";
+ if (type.equals(1)){
+ unit = "銕�";
+ } else if (type.equals(2)) {
+ unit = "m";
+ } else if (type.equals(3)) {
+ unit = "鐗�";
+ }
+ if (id!=null){
+ //鏌ヨ鐗╂枡缂栧彿鏄惁宸插瓨鍦�
+ Integer countId = bomDataMapper.getMaterialId(id);
+ if (countId == 0){
+ bomDataMapper.saveMaterialBomDataMp(id,name,consume,price,type,unit);
+ }else {
+ bomDataMapper.updateMaterialBomDataMp(id,name,consume,price,type,unit);
+ }
+
+ return true;
+ }else {
+ return false;
+ }
+ }
+
+ public Object saveProductBOMSv(Map<String, Object> object) {
+ // 閬嶅巻姣忎釜浜у搧
+ for (Map.Entry<String, Object> entry : object.entrySet()) {
+ String productName = entry.getKey();
+ Object value = entry.getValue();
+
+ if (value instanceof List) {
+ List<Map<String, Object>> rows = (List<Map<String, Object>>) value;
+
+ for (Map<String, Object> row : rows) {
+ // 鍙栨瘡鏉℃暟鎹�
+ Object produceId = row.get("produceId");
+ Object tabId = row.get("tabId");
+ Object layer = row.get("layer");
+ if (tabId!=null){
+ bomDataMapper.saveProductBOMMp(produceId,tabId,layer);
+ }
+
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public Map<String, Object> getOrderBomDataSv(String orderId) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", bomDataMapper.getOrderBomDataMp(orderId));
+ map.put("sumData", bomDataMapper.getOrderBomSumDataMp(orderId));
+ map.put("sumDataDatils", bomDataMapper.getOrderBomsumDataDatilsMp(orderId));
+ return map;
+ }
+
+ public Map<String, Object> getBomDataProductSv(Map<String, Object> object) {
+ Map<String, Object> map = new HashMap<>();
+ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
+ List<OrderDetail> orderDetailsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("productName")), OrderDetail.class);
+ if (!orderDetailsList.isEmpty()) {
+ for (OrderDetail od : orderDetailsList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", bomDataMapper.getBOMDetails(od.getProductId(),od.getOrderId()));
+ list.add(itemmap);
+
+ }
+ }
+ map.put("data", list);
+ return map;
+ }
+
+ public Map<String, Object> editProductBOMSv(String produceId) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", bomDataMapper.getEditProductBOMSv(produceId));
+ return map;
+ }
+}
--
Gitblit v1.8.0