From c28d3bb363dde2afb44c168b93379b2bf6b1f67f Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期四, 07 九月 2023 15:26:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java | 62 +++++++++++++++++++++++++-----
1 files changed, 51 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 d228fbf..8fa48b7 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
@@ -3,11 +3,11 @@
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 +15,7 @@
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
/**
* 璁㈠崟(Order)琛ㄦ湇鍔″疄鐜扮被
@@ -23,10 +24,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 +54,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
@@ -78,22 +87,53 @@
.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);
+ List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query()
+ .eq("specifications_id", specificationId)
+ .eq("version", version));
for (Technology technology : technologyList) {
ManualTechnology manualTechnology = ManualTechnology.builder()
.techname(technology.getName())
.techfather(technology.getFather())
.deviceGroup(technology.getDeviceGroup())
.manufactureOrderId(manufactureOrder.getId())
- .period((int) Math.ceil((double)manufactureOrder.getNumber()/technology.getProductionQuota()))
+ .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