From 19b596d3c05b1ca7ff80d8b802e7f6e03ad77dad Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 11 九月 2023 18:02:17 +0800
Subject: [PATCH] 修改   9.11

---
 inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java |   67 ++++++++++++++++++++++++++++-----
 1 files changed, 56 insertions(+), 11 deletions(-)

diff --git a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
index 538af0e..48c3b9d 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
@@ -1,13 +1,14 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
-import com.yuanchu.mom.service.ManufactureOrderService;
 import com.yuanchu.mom.service.OrdersService;
+import com.yuanchu.mom.service.SpecificationsService;
+import com.yuanchu.mom.service.StandardService;
 import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -15,6 +16,7 @@
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * 璁㈠崟(Order)琛ㄦ湇鍔″疄鐜扮被
@@ -23,10 +25,19 @@
  * @since 2023-07-31 11:57:44
  */
 @Service("orderService")
-public class OrdersServiceImpl  implements OrdersService {
+public class OrdersServiceImpl implements OrdersService {
 
     @Resource
     SaleMapper saleMapper;
+
+    @Resource
+    MaterialMapper materialMapper;
+
+    @Resource
+    StandardService standardService;
+
+    @Resource
+    SpecificationsService specificationsService;
 
     @Resource
     SaleMaterialMapper saleMaterialMapper;
@@ -44,11 +55,10 @@
     TechnologyMapper technologyMapper;
 
 
-
     //鏌ヨ鎵�鏈夎鍗曞垪琛�
     @Override
-    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type , String time) {
-        return saleMapper.selectAllOrder(page, orderCode,name,type, time);
+    public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type, String time) {
+        return saleMapper.selectAllOrder(page, orderCode, name, type, time);
     }
 
     //缂栧埗璁㈠崟BOM
@@ -73,25 +83,60 @@
                 .number(saleMaterial.getNumber())
                 .downtime(sale.getCreateTime())
                 .deltime(sale.getDelTime())
-                .qualityTraceability(MyUtil.getTimeSixNumberCode("GPT"))
+                .qualityTraceability(MyUtil.getTimeSixNumberCode("GPT", "GPT"))
+                .downman(sale.getOrderName())
                 .build();
         //鏂板鐢熶骇璁㈠崟
         manufactureOrderMapper.insert(manufactureOrder);
-        //鏌ヨ浜у搧鐨勫伐搴�
-        String[] split = manufactureOrder.getSpecifications().split("-");
-        Specifications specifications = specificationsMapper.selectOne(Wrappers.<Specifications>query().eq("name", split[1]));
-        List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query().eq("specifications_id", specifications.getId()));
+        //浜у搧缂栫爜
+        String code = materialMapper.selMcode(manufactureOrder.getName());
+        //鍨嬪彿id
+        Integer specificationId = getSpecificationId(manufactureOrder.getName(), code, manufactureOrder.getSpecifications());
+        //榛樿鏈�鏂扮増鏈�
+        Integer version = technologyMapper.selectVerByTec(specificationId).get(0);
+        /*姝e簭鏌ヨ璇ュ瀷鍙锋渶鏂扮増鏈笅鐨勫伐鑹鸿矾绾�*/
+        LambdaQueryWrapper<Technology> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Technology::getSpecificationsId,specificationId);
+        queryWrapper.eq(Technology::getVersion,version);
+        queryWrapper.orderByAsc(Technology::getFather);
+        List<Technology> technologyList = technologyMapper.selectList(queryWrapper);
         for (Technology technology : technologyList) {
             ManualTechnology manualTechnology = ManualTechnology.builder()
                     .techname(technology.getName())
                     .techfather(technology.getFather())
                     .deviceGroup(technology.getDeviceGroup())
                     .manufactureOrderId(manufactureOrder.getId())
+                    .productionQuota(technology.getProductionQuota())
+                    .technologyId(technology.getId())
                     .build();
             //鏂板缂栧埗宸ュ簭琛�
             manualTechnologyMapper.insert(manualTechnology);
         }
     }
 
+    /*鏍规嵁鏍峰搧鍚嶇О,鏍峰搧缂栧彿,鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id*/
+    private Integer getSpecificationId(String name, String mcode, String specification) {
+        //鑾峰彇鐗╂枡id
+        Material material = materialMapper.selectOne(Wrappers.<Material>query()
+                .eq("name", name)
+                .eq("code", mcode));
+        if (Objects.isNull(material)) {
+            return null;
+        }
+        //鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
+        String[] split = specification.split("-");
+        String stName = split[0];
+        String spName = split[1];
+        //鑾峰彇瑙勬牸id
+        Standard standard = standardService.getOne(Wrappers.<Standard>query()
+                .eq("name", stName)
+                .eq("material_id", material.getId()));
+        //鑾峰彇鍨嬪彿id
+        Specifications specifications = specificationsService.getOne(Wrappers.<Specifications>query()
+                .eq("name", spName)
+                .eq("standard_id", standard.getId()));
+        return specifications.getId();
+    }
+
 }
 

--
Gitblit v1.9.3