From 2dbc49184bd74845c8da694c20d6fd03d7ac87e0 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 九月 2023 16:16:21 +0800
Subject: [PATCH] 修改 9.21
---
inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++----------
1 files changed, 70 insertions(+), 21 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 8fa48b7..7c6d1f2 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,21 +1,22 @@
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.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
-import com.yuanchu.mom.service.OrdersService;
-import com.yuanchu.mom.service.SpecificationsService;
-import com.yuanchu.mom.service.StandardService;
+import com.yuanchu.mom.service.*;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 璁㈠崟(Order)琛ㄦ湇鍔″疄鐜扮被
@@ -45,13 +46,22 @@
ManufactureOrderMapper manufactureOrderMapper;
@Resource
- ManualTechnologyMapper manualTechnologyMapper;
-
- @Resource
- SpecificationsMapper specificationsMapper;
+ ManualTechnologyService manualTechnologyService;
@Resource
TechnologyMapper technologyMapper;
+
+ @Resource
+ ProductMapper productMapper;
+
+ @Resource
+ MbomMapper mbomMapper;
+
+ @Resource
+ ManualProductService manualProductService;
+
+ @Resource
+ ManualMbomService manualMbomService;
//鏌ヨ鎵�鏈夎鍗曞垪琛�
@@ -87,27 +97,66 @@
.build();
//鏂板鐢熶骇璁㈠崟
manufactureOrderMapper.insert(manufactureOrder);
- //鏌ヨ浜у搧鐨勬渶鏂板伐搴�
//浜у搧缂栫爜
String code = materialMapper.selMcode(manufactureOrder.getName());
//鍨嬪彿id
Integer specificationId = getSpecificationId(manufactureOrder.getName(), code, manufactureOrder.getSpecifications());
//榛樿鏈�鏂扮増鏈�
Integer version = technologyMapper.selectVerByTec(specificationId).get(0);
- List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query()
- .eq("specifications_id", specificationId)
- .eq("version", version));
- for (Technology technology : technologyList) {
+ /*姝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);
+ List<ManualTechnology> manualTechnologyList = technologyList.stream().map(technology -> {
ManualTechnology manualTechnology = ManualTechnology.builder()
- .techname(technology.getName())
- .techfather(technology.getFather())
- .deviceGroup(technology.getDeviceGroup())
- .manufactureOrderId(manufactureOrder.getId())
- .productionQuota(technology.getProductionQuota())
- .technologyId(technology.getId())
+ .techname(technology.getName()) //宸ヨ壓
+ .techfather(technology.getFather()) //宸ュ簭
+ .deviceGroup(technology.getDeviceGroup()) //鐢熶骇璁惧缁�
+ .manufactureOrderId(manufactureOrder.getId()) //鐢熶骇璁㈠崟id
+ .productionQuota(technology.getProductionQuota()) //鐢熶骇鏁堢巼
+ .technologyId(technology.getId()) //鏍囧噯bom涓伐鑹鸿矾绾縤d
.build();
- //鏂板缂栧埗宸ュ簭琛�
- manualTechnologyMapper.insert(manualTechnology);
+ return manualTechnology;
+ }).collect(Collectors.toList());
+ /*鏂板缂栧埗宸ヨ壓琛�*/
+ manualTechnologyService.saveBatch(manualTechnologyList);
+ //鏍规嵁鏍囧噯bom鐨勫伐鑹鸿矾绾縤d鏌ヨ鏍囧噯bom涓殑鎶�鏈寚鏍�
+ for (ManualTechnology manualTechnology : manualTechnologyList) {
+ List<Product> productList = productMapper.selProByVerSpe(manualTechnology.getTechnologyId());
+ List<ManualProduct> manualProducts = new ArrayList<>();
+ for (Product product : productList) {
+ ManualProduct manualProduct = ManualProduct.builder()
+ .manualTechnologyId(manualTechnology.getId()) //鍏宠仈 鐢熶骇璁㈠崟id
+ .name(product.getName())
+ .father(product.getFather())
+ .unit(product.getUnit())
+ .required(product.getRequired())
+ .internal(product.getInternal())
+ .build();
+ manualProducts.add(manualProduct);
+ }
+ /*鏂板缂栧埗鎶�鏈寚鏍囪〃*/
+ manualProductService.saveBatch(manualProducts);
+ }
+ //鏍规嵁鏍囧噯bom鐨勫伐鑹鸿矾绾縤d鏌ヨ鏍囧噯bom涓殑鐗╂枡娓呭崟
+ for (ManualTechnology manualTechnology : manualTechnologyList) {
+ List<Mbom> mbomList = mbomMapper.selectList(Wrappers.<Mbom>query().eq("technology_id",manualTechnology.getTechnologyId()));
+ List<ManualMbom> manualMboms = new ArrayList<>();
+ for (Mbom mbom : mbomList) {
+ ManualMbom manualMbom = ManualMbom.builder()
+ .manualTechnologyId(manualTechnology.getId()) //鍏宠仈 鐢熶骇璁㈠崟id
+ .name(mbom.getName())
+ .unit(mbom.getUnit())
+ .num(mbom.getNum())
+ .qualityTraceability(mbom.getQualityTraceability())
+ .specifications(mbom.getSpecifications())
+ .build();
+ manualMboms.add(manualMbom);
+ }
+ /*鏂板缂栧埗鐗╂枡娓呭崟琛�*/
+ manualMbomService.saveBatch(manualMboms);
}
}
@@ -123,7 +172,7 @@
//鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
String[] split = specification.split("-");
String stName = split[0];
- String spName = split[1];
+ String spName = split[1]+split[2];
//鑾峰彇瑙勬牸id
Standard standard = standardService.getOne(Wrappers.<Standard>query()
.eq("name", stName)
--
Gitblit v1.9.3