From ac225bd66eb7c21b5af1d8533dc59376ea53da6c Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 12 十二月 2025 12:29:42 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 112 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..7d10a9d
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/BomDataService.java
@@ -0,0 +1,112 @@
+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");
+
+                    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