From cf943cb90fde999773267cbc14bf51a70881481a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 13 四月 2021 14:24:21 +0800
Subject: [PATCH] #
---
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 157 ++++++++++++++++++++++++----------------------------
1 files changed, 72 insertions(+), 85 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index 547e5f9..399e9f0 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -1,18 +1,18 @@
package zy.cloud.wms.manager.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.*;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import zy.cloud.wms.common.config.CodeCoolException;
import zy.cloud.wms.common.model.BillDto;
import zy.cloud.wms.common.model.MatnrDto;
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.common.service.MainService;
-import zy.cloud.wms.common.service.asrs.AsrsService;
-import zy.cloud.wms.common.service.asrs.entity.Result1;
import zy.cloud.wms.common.service.erp.ErpService;
import zy.cloud.wms.common.utils.VersionUtils;
import zy.cloud.wms.manager.entity.*;
@@ -25,6 +25,7 @@
/**
* Created by vincent on 2021/2/25
*/
+@Slf4j
@Service("workService")
public class WorkServiceImpl implements WorkService {
@@ -45,11 +46,17 @@
@Autowired
private MatService matService;
@Autowired
- private AsrsService asrsService;
- @Autowired
private ErpService erpService;
@Autowired
private CheckService checkService;
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+ @Autowired
+ private ItemService itemService;
+ @Autowired
+ private CstmrService cstmrService;
@Override
@Transactional
@@ -472,94 +479,74 @@
@Override
@Transactional
public R initOrder(InitOrderParam param, Long userId) {
- if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", param.getNumber()).ne("bType_id", param.getCustomerTypeId())) > 0) {
+ Order order = orderService.selectByOrderNo(param.getOrderNo());
+ if (order != null) {
return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
}
Date now = new Date();
- for (PakinMatDto dto : param.getList()){
+ Item item = itemService.selectByName(param.getItem());
+ Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
+ // 鏂板璁㈠崟琛ㄥご
+ order = new Order(
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ param.getOrderNo(), // 璁㈠崟缂栧彿
+ param.getOrderTime(), // 鍗曟嵁鏃ユ湡
+ param.getDocType(), // 鍗曟嵁绫诲瀷
+ item==null?null:item.getId(), // 椤圭洰缂栧彿
+ param.getItem(), // 椤圭洰鍚嶇О
+ null, // 璋冩嫧椤圭洰缂栧彿
+ null, // 鍒濆绁ㄦ嵁鍙�
+ null, // 绁ㄦ嵁鍙�
+ cstmr==null?null:cstmr.getId(), // 瀹㈡埛缂栧彿
+ param.getCstmr(), // 瀹㈡埛
+ null, // 鑱旂郴鏂瑰紡
+ null, // 鎿嶄綔浜哄憳
+ null, // 鍚堣閲戦
+ null, // 浼樻儬鐜�
+ null, // 浼樻儬閲戦
+ null, // 閿�鍞垨閲囪喘璐圭敤鍚堣
+ null, // 瀹炰粯閲戦
+ null, // 浠樻绫诲瀷
+ null, // 涓氬姟鍛�
+ null, // 缁撶畻澶╂暟
+ null, // 閭垂鏀粯绫诲瀷
+ null, // 閭垂
+ null, // 浠樻鏃堕棿
+ null, // 鍙戣揣鏃堕棿
+ null, // 鐗╂祦鍚嶇О
+ null, // 鐗╂祦鍗曞彿
+ null, // 璁㈠崟鐘舵��
+ 1, // 鐘舵��
+ userId, // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ userId, // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ null // 澶囨敞
+ );
+ if (!orderService.insert(order)) {
+ throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+ }
+ // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛�
+ for (MatnrDto dto : param.getList()){
Mat mat = matService.selectByMatnr(dto.getMatnr());
if (mat == null) {
+ log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
continue;
}
- CustOrder custOrder = new CustOrder(
- param.getNumber(), // 閿�鍞崟鍙�
- DateUtils.convert(now), // 鍗曟嵁鏃ユ湡[闈炵┖]
- param.getCustomerTypeId(), // 瀹㈡埛缂栧彿
- null, // 缁忔墜浜虹紪鍙穂绌篯
- null,
- dto.getMatnr(), // 鍟嗗搧缂栧彿
- dto.getCount(), // 鍟嗗搧鏁伴噺
- dto.getCount(), // 鎬绘暟閲�
- Cools.isEmpty(mat.getName())?0.0D:Double.parseDouble(mat.getName()), // 鍟嗗搧鍗曚环
- null, // 鍟嗗搧鏄庣粏琛屽彿
- null, // 鍟嗗搧澶囨敞[绌篯
- 1, // 鐘舵��
- now, // 娣诲姞鏃堕棿
- now, // 淇敼鏃堕棿
- null // 澶囨敞
- );
- if (!custOrderService.insert(custOrder)) {
- throw new CoolException("淇濆瓨閿�鍞鍗曞け璐�");
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.setOrderId(order.getId()); // 璁㈠崟鍐呯爜
+ orderDetl.setAnfme(dto.getCount()); // 鏁伴噺
+ orderDetl.setCreateBy(userId);
+ orderDetl.setCreateTime(now);
+ orderDetl.setUpdateBy(userId);
+ orderDetl.setUpdateTime(now);
+ orderDetl.setStatus(1);
+ VersionUtils.setOrderDetl(orderDetl, mat);
+ if (!orderDetlService.insert(orderDetl)) {
+ throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
}
}
- return R.ok("鐢熸垚閿�鍞鍗�" + param.getNumber() + "鎴愬姛");
- }
-
- @Override
- @Transactional
- public R stockTransfer(String number, Long userId) {
- List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1));
- boolean asrs = false;
- List<StockTransferParam> params = new ArrayList<>();
- for (CustOrder custOrder : custOrders) {
- Double count = locDetlService.selectCountByMatnr(custOrder.getUserCode());
- if (count == null) {
- count = 0.0D;
- }
- if (count < custOrder.getQty()) {
- if (!asrs) { asrs = true; }
- StockTransferParam param = new StockTransferParam();
- param.setMatnr(custOrder.getUserCode());
- param.setAnfme(custOrder.getQty() - count);
- params.add(param);
- }
- }
- if (asrs) {
-// if (asrsService.stockTransfer(params)) {
-// for (StockTransferParam param : params) {
-// // 淇敼閿�鍞鍗曞緟鍑烘暟閲�
-// if (!custOrderService.updateQty(number, param.getMatnr(), param.getAnfme())) {
-// throw new CoolException("淇敼閿�鍞鍗曞緟鍑烘暟閲忓け璐�");
-// }
-// }
-// return R.ok("搴撳瓨璋冩嫧鎴愬姛");
-// } else {
-// return R.error("绔嬪簱璋冩嫧澶辫触锛岃鑱旂郴绠$悊鍛�");
-// }
- }
- return R.error("鏆備笉缂鸿揣锛屼笉闇�瑕佺珛搴撹皟鎷�");
- }
-
- @Override
- public R asrsStockTransfer(AsrsTransferParam param, Long userId) {
- if (Cools.isEmpty(param.getNode_id(), param.getMatnr(), param.getSafe_qua(), param.getAmount())) {
- return R.error("鏁伴噺閿欒");
- }
- List<StockTransferParam> params = new ArrayList<>();
- StockTransferParam transferParam = new StockTransferParam();
- transferParam.setMatnr(param.getMatnr());
- transferParam.setAnfme(Arith.subtract(2, param.getSafe_qua(), param.getAmount()));
- transferParam.setAllotNo(param.getNode_id()+ "_" +param.getMatnr());
- params.add(transferParam);
- Result1 result = asrsService.stockTransfer(params);
- if (result.getCode() == 500) {
- if (Cools.isEmpty(result.getData())) {
- throw new CoolException(result.getMsg());
- } else {
- throw new CodeCoolException("20001-" + result.getData());
- }
- }
- return R.ok("琛ヤ粨鎴愬姛锛岀瓑寰呯珛搴撹皟鎷�");
+ return R.ok("鍒涘缓璁㈠崟鎴愬姛");
}
@Override
--
Gitblit v1.9.1